Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57995 - trunk/boost/test/impl
From: gennadiy.rozental_at_[hidden]
Date: 2009-11-28 05:25:09


Author: rogeeff
Date: 2009-11-28 05:25:09 EST (Sat, 28 Nov 2009)
New Revision: 57995
URL: http://svn.boost.org/trac/boost/changeset/57995

Log:
Avoid catching SIGCHILD altogether. One should exanine system call exit code instead. Fixes #3664
Text files modified:
   trunk/boost/test/impl/execution_monitor.ipp | 25 -------------------------
   1 files changed, 0 insertions(+), 25 deletions(-)

Modified: trunk/boost/test/impl/execution_monitor.ipp
==============================================================================
--- trunk/boost/test/impl/execution_monitor.ipp (original)
+++ trunk/boost/test/impl/execution_monitor.ipp 2009-11-28 05:25:09 EST (Sat, 28 Nov 2009)
@@ -168,7 +168,6 @@
 # define ILL_COPROC ILL_FPOP_FAULT
 
 # define BOOST_TEST_LIMITED_SIGNAL_DETAILS
-# define BOOST_TEST_IGNORE_SIGCHLD
 
 # endif
 # endif
@@ -745,9 +744,6 @@
 , m_FPE_action ( SIGFPE , catch_system_errors, attach_dbg, alt_stack )
 , m_SEGV_action( SIGSEGV, catch_system_errors, attach_dbg, alt_stack )
 , m_BUS_action ( SIGBUS , catch_system_errors, attach_dbg, alt_stack )
-#ifndef BOOST_TEST_IGNORE_SIGCHLD
-, m_CHLD_action( SIGCHLD, catch_system_errors, attach_dbg, alt_stack )
-#endif
 #ifdef BOOST_TEST_CATCH_SIGPOLL
 , m_POLL_action( SIGPOLL, catch_system_errors, attach_dbg, alt_stack )
 #endif
@@ -813,26 +809,8 @@
 
 extern "C" {
 
-static bool ignore_sigchild( siginfo_t* info )
-{
- return info->si_signo == SIGCHLD
-#ifndef BOOST_TEST_LIMITED_SIGNAL_DETAILS
- && info->si_code == CLD_EXITED
-#endif
-#ifdef BOOST_TEST_IGNORE_NON_ZERO_CHILD_CODE
- ;
-#else
- && (int)info->si_status == 0;
-#endif
-}
-
-//____________________________________________________________________________//
-
 static void execution_monitor_jumping_signal_handler( int sig, siginfo_t* info, void* context )
 {
- if( ignore_sigchild( info ) )
- return;
-
     signal_handler::sys_sig()( info, context );
 
     siglongjmp( signal_handler::jump_buffer(), sig );
@@ -842,9 +820,6 @@
 
 static void execution_monitor_attaching_signal_handler( int sig, siginfo_t* info, void* context )
 {
- if( ignore_sigchild( info ) )
- 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