diff options
| author | Wayne Davison <wayned@samba.org> | 2006-02-03 18:48:26 +0000 |
|---|---|---|
| committer | Wayne Davison <wayned@samba.org> | 2006-02-03 18:48:26 +0000 |
| commit | 8261af7422242809bc7f888a715e9775b8c0ebd3 (patch) | |
| tree | 0cda744ca06943bb34db12e7fd192a3e7b7e9667 /main.c | |
| parent | 44e604f41621cf3e31dc5840686c99e0986b9a53 (diff) | |
| download | android_external_rsync-8261af7422242809bc7f888a715e9775b8c0ebd3.tar.gz android_external_rsync-8261af7422242809bc7f888a715e9775b8c0ebd3.tar.bz2 android_external_rsync-8261af7422242809bc7f888a715e9775b8c0ebd3.zip | |
Allow sigaction() to be used even if sigprocmask() isn't around
(or was manually disabled).
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -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); |
