$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: gennadiy.rozental_at_[hidden]
Date: 2008-04-14 00:20:32
Author: rogeeff
Date: 2008-04-14 00:20:31 EDT (Mon, 14 Apr 2008)
New Revision: 44392
URL: http://svn.boost.org/trac/boost/changeset/44392
Log:
ignore SIGCHLD in case of regular child exit with code 0
Text files modified: 
   trunk/boost/test/impl/execution_monitor.ipp |     8 +++++++-                                
   1 files changed, 7 insertions(+), 1 deletions(-)
Modified: trunk/boost/test/impl/execution_monitor.ipp
==============================================================================
--- trunk/boost/test/impl/execution_monitor.ipp	(original)
+++ trunk/boost/test/impl/execution_monitor.ipp	2008-04-14 00:20:31 EDT (Mon, 14 Apr 2008)
@@ -65,7 +65,7 @@
 
 #  include <windows.h>
 
-#  if defined(__MWERKS__) || (defined(BOOST_MSVC) && !defined(UNDER_CE))
+#  if defined(__MWERKS__) || (BOOST_WORKAROUND(_MSC_VER,  < 1410 ) && !defined(UNDER_CE))
 #    include <eh.h>
 #  endif
 
@@ -680,6 +680,9 @@
 
 static void execution_monitor_jumping_signal_handler( int sig, siginfo_t* info, void* context )
 {
+    if( info->si_signo == SIGCHLD && info->si_code == CLD_EXITED && (int)info->si_status == 0 )
+        return;
+
     signal_handler::sys_sig()( info, context );
 
     siglongjmp( signal_handler::jump_buffer(), sig );
@@ -689,6 +692,9 @@
 
 static void execution_monitor_attaching_signal_handler( int sig, siginfo_t* info, void* context )
 {
+    if( info->si_signo == SIGCHLD && info->si_code == CLD_EXITED && (int)info->si_status == 0 )
+        return;
+
     if( !debug::attach_debugger( false ) )
     execution_monitor_jumping_signal_handler( sig, info, context );