From 8261af7422242809bc7f888a715e9775b8c0ebd3 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Fri, 3 Feb 2006 18:48:26 +0000 Subject: [PATCH] Allow sigaction() to be used even if sigprocmask() isn't around (or was manually disabled). --- main.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/main.c b/main.c index 58ea8b00..f60d4aec 100644 --- a/main.c +++ b/main.c @@ -68,8 +68,12 @@ struct file_list *the_file_list; * but set it higher, just in case. */ #define MAXCHILDPROCS 7 -#if defined HAVE_SIGACTION && defined HAVE_SIGPROCMASK -#define SIGACTMASK(n,h) SIGACTION(n,h), sigaddset(&sigmask,(n)) +#ifdef HAVE_SIGACTION +# ifdef HAVE_SIGPROCMASK +# define SIGACTMASK(n,h) SIGACTION(n,h), sigaddset(&sigmask,(n)) +# else +# define SIGACTMASK(n,h) SIGACTION(n,h) +# endif static struct sigaction sigact; #endif @@ -1104,7 +1108,7 @@ static RETSIGTYPE sigchld_handler(UNUSED(int val)) } } #endif -#if !defined HAVE_SIGACTION && !defined HAVE_SIGPROCMASK +#ifndef HAVE_SIGACTION signal(SIGCHLD, sigchld_handler); #endif } @@ -1166,10 +1170,12 @@ int main(int argc,char *argv[]) int ret; int orig_argc = argc; char **orig_argv = argv; -#if defined HAVE_SIGACTION && defined HAVE_SIGPROCMASK +#ifdef HAVE_SIGACTION +# ifdef HAVE_SIGPROCMASK sigset_t sigmask; sigemptyset(&sigmask); +# endif sigact.sa_flags = SA_NOCLDSTOP; #endif SIGACTMASK(SIGUSR1, sigusr1_handler); -- 2.34.1