From c2bb1a45d2e333b903dfe11b235363cc3a91ce53 Mon Sep 17 00:00:00 2001 From: Michael Graff Date: Fri, 7 Apr 2000 23:09:04 +0000 Subject: [PATCH] Install default handler for SIGCHLD -- more after I fix NetBSD's pthread code --- lib/tests/t_api.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/tests/t_api.c b/lib/tests/t_api.c index 41ae5254ff..191b5132a8 100644 --- a/lib/tests/t_api.c +++ b/lib/tests/t_api.c @@ -31,10 +31,6 @@ #include "include/tests/t_api.h" -#if !defined(__NetBSD__) -#define T_API_USES_TIMEOUTS 1 -#endif - static char *Usage = "\t-a : run all tests\n" "\t-b : chdir to dir before running tests" "\t-c : use specified config file\n" @@ -218,11 +214,19 @@ main(int argc, char **argv) sa.sa_flags = 0; sigfillset(&sa.sa_mask); - sa.sa_handler = t_sighandler; -#if defined(T_API_USES_TIMEOUTS) - (void)SIGACTION(SIGALRM, &sa, NULL); + +#ifdef SIGCHLD + /* + * This is mostly here for NetBSD's pthread implementation, until + * people catch up to the latest unproven-pthread package. + */ + sa.sa_handler = SIG_DFL; + (void)sigaction(SIGCHLD, &sa, NULL); /* Note: LOWERCASE sigaction */ #endif + + sa.sa_handler = t_sighandler; (void)SIGACTION(SIGINT, &sa, NULL); + (void)SIGACTION(SIGALRM, &sa, NULL); /* output start stanza to journal */ @@ -255,11 +259,9 @@ main(int argc, char **argv) else if (T_pid > 0) { T_int = 0; -#if defined(T_API_USES_TIMEOUTS) sa.sa_handler = t_sighandler; (void)SIGACTION(SIGALRM, &sa, NULL); alarm(T_timeout); -#endif deadpid = (pid_t) -1; while (deadpid != T_pid) { @@ -282,11 +284,9 @@ main(int argc, char **argv) break; } -#if defined(T_API_USES_TIMEOUTS) alarm(0); sa.sa_handler = SIG_IGN; (void)SIGACTION(SIGALRM, &sa, NULL); -#endif } else { t_info("fork failed, errno == %d\n", errno);