X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fsignals.c;h=eb26e632317be1075936a8981f8fe5a17c90ec71;hb=0d33f1e27c4edb7290ef51cd03d50c0dbc9059ef;hp=9f5f3792c93dd295db4c9e64061f2458f2380e64;hpb=6c42153ad9362cc676ea66563bf400d7511b3b68;p=mmh diff --git a/sbr/signals.c b/sbr/signals.c index 9f5f379..eb26e63 100644 --- a/sbr/signals.c +++ b/sbr/signals.c @@ -2,8 +2,6 @@ /* * signals.c -- general signals interface for nmh * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -13,46 +11,19 @@ #include -int -SIGPROCMASK (int how, const sigset_t *set, sigset_t *oset) -{ -#ifdef POSIX_SIGNALS - return sigprocmask(how, set, oset); -#else -# ifdef BSD_SIGNALS - switch(how) { - case SIG_BLOCK: - *oset = sigblock(*set); - break; - case SIG_UNBLOCK: - sigfillset(*oset); - *oset = sigsetmask(*oset); - sigsetmask(*oset & ~(*set)); - break; - case SIG_SETMASK: - *oset = sigsetmask(*set); - break; - default: - adios(NULL, "unknown flag in SIGPROCMASK"); - break; - } - return 0; -# endif -#endif -} - - /* * A version of the function `signal' that uses reliable * signals, if the machine supports them. Also, (assuming * OS support), it restarts interrupted system calls for all * signals except SIGALRM. + * + * Since we are now assuming POSIX signal support everywhere, we always + * use reliable signals. */ SIGNAL_HANDLER SIGNAL (int sig, SIGNAL_HANDLER func) { -#ifdef POSIX_SIGNALS struct sigaction act, oact; act.sa_handler = func; @@ -71,9 +42,6 @@ SIGNAL (int sig, SIGNAL_HANDLER func) if (sigaction(sig, &act, &oact) < 0) return (SIG_ERR); return (oact.sa_handler); -#else - return signal (sig, func); -#endif } @@ -86,7 +54,6 @@ SIGNAL (int sig, SIGNAL_HANDLER func) SIGNAL_HANDLER SIGNAL2 (int sig, SIGNAL_HANDLER func) { -#ifdef POSIX_SIGNALS struct sigaction act, oact; if (sigaction(sig, NULL, &oact) < 0) @@ -109,12 +76,5 @@ SIGNAL2 (int sig, SIGNAL_HANDLER func) return (SIG_ERR); } return (oact.sa_handler); -#else - SIGNAL_HANDLER ofunc; - - if ((ofunc = signal (sig, SIG_IGN)) != SIG_IGN) - signal (sig, func); - return ofunc; -#endif }