1 #include "tls_test_frame.h" 2 3 /* Wait for child processed ignoring signals. */ tls_test_uninterruptable_wait(pid_t * pid_ptr,INT * exit_status_ptr)4INT tls_test_uninterruptable_wait( pid_t* pid_ptr, INT* exit_status_ptr) 5 { 6 /* Check for pointers. */ 7 return_value_if_fail( NULL != pid_ptr, TLS_TEST_INVALID_POINTER); 8 return_value_if_fail( NULL != exit_status_ptr, TLS_TEST_INVALID_POINTER); 9 10 /* Wait for child process terminations and restart wait if interrupted by signals. */ 11 while ( ( *pid_ptr = wait( exit_status_ptr)) == -1 && (errno == EINTR)); 12 13 /* Check for return value. */ 14 if ( -1 == *pid_ptr) 15 return TLS_TEST_SYSTEM_CALL_FAILED; 16 17 return TLS_TEST_SUCCESS; 18 } 19