X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=sigaction.c;h=9285ddac61be7262c8a3dc5d6e13b8f52871599e;hb=5c8f8bf137761b6776ee46ad1c509ba55eb07401;hp=e34d471c803e587bae82548466728c010d8f95ea;hpb=83cad190740ab8312cf2ea953c1bf9dee2e965bf;p=debian%2Fsudo diff --git a/sigaction.c b/sigaction.c index e34d471..9285dda 100644 --- a/sigaction.c +++ b/sigaction.c @@ -18,10 +18,14 @@ * Materiel Command, USAF, under agreement number F39502-99-1-0512. */ +#include + +#include + #include #include -#include +#include "missing.h" int sigaction(signo, sa, osa) @@ -43,7 +47,7 @@ sigaction(signo, sa, osa) if (!error && osa) osa->sa_flags ^= SV_INTERRUPT; /* flip SV_INTERRUPT as above */ - return(error); + return error; } int @@ -52,7 +56,7 @@ sigemptyset(set) { *set = 0; - return(0); + return 0; } int @@ -61,7 +65,7 @@ sigfillset(set) { *set = ~0;; - return(0); + return 0; } int @@ -72,11 +76,11 @@ sigaddset(set, signo) if (signo <= 0 || signo >= NSIG) { errno = EINVAL; - return(-1); + return -1; } SET(*set, sigmask(signo)); - return(0); + return 0; } int @@ -87,11 +91,11 @@ sigdelset(set, signo) if (signo <= 0 || signo >= NSIG) { errno = EINVAL; - return(-1); + return -1; } CLR(*set, sigmask(signo)); - return(0); + return 0; } int @@ -100,7 +104,7 @@ sigismember(set, signo) int signo; { - return(ISSET(*set, sigmask(signo))); + return ISSET(*set, sigmask(signo)); } int @@ -120,18 +124,18 @@ sigprocmask(how, set, oset) mask = sigblock(*set); break; case SIG_UNBLOCK: - mask = sigsetmask(~*set); + mask = sigsetmask(sigblock(0) & ~(*set)); break; case SIG_SETMASK: mask = sigsetmask(*set); break; default: - return(-1); + return -1; } if (mask == -1) - return(-1); + return -1; if (oset) *oset = mask; - return(0); + return 0; }