diff options
-rw-r--r-- | acconfig.h | 6 | ||||
-rw-r--r-- | threadproc/unix/signals.c | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/acconfig.h b/acconfig.h index 25d28f6c8..98e0154b3 100644 --- a/acconfig.h +++ b/acconfig.h @@ -53,4 +53,10 @@ #define BEOS_BONE 1 #endif +#ifdef SIGWAIT_TAKES_ONE_ARG +#define apr_sigwait(a,b) ((*(b)=sigwait((a)))<0?-1:0) +#else +#define apr_sigwait(a,b) sigwait((a),(b)) +#endif + #endif /* APR_PRIVATE_H */ diff --git a/threadproc/unix/signals.c b/threadproc/unix/signals.c index a96fded38..a192ebeee 100644 --- a/threadproc/unix/signals.c +++ b/threadproc/unix/signals.c @@ -278,12 +278,7 @@ static void *signal_thread_func(void *signal_handler) while (1) { int signal_received; -#ifdef SIGWAIT_TAKES_ONE_ARG - signal_received = sigwait(&sig_mask); - if (signal_received == -1) -#else - if (sigwait(&sig_mask, &signal_received) == -1) -#endif + if (apr_sigwait(&sig_mask, &signal_received) != 0) { /* handle sigwait() error here */ } |