Boost logo

Boost-Commit :

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 );
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk