diff options
Diffstat (limited to 'sysdeps/posix/sigsetmask.c')
-rw-r--r-- | sysdeps/posix/sigsetmask.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/sysdeps/posix/sigsetmask.c b/sysdeps/posix/sigsetmask.c index 12e77a6..8775627 100644 --- a/sysdeps/posix/sigsetmask.c +++ b/sysdeps/posix/sigsetmask.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1994, 1995 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -16,29 +16,28 @@ License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ansidecl.h> #include <errno.h> #include <signal.h> /* Set the mask of blocked signals to MASK, returning the old mask. */ int -DEFUN(__sigsetmask, (mask), int mask) +__sigsetmask (int mask) { register int sig; sigset_t set, oset; - if (__sigemptyset(&set) < 0) + if (__sigemptyset (&set) < 0) return -1; - + if (sizeof (mask) == sizeof (set)) *(int *) &set = mask; else for (sig = 1; sig < NSIG; ++sig) if ((mask & sigmask(sig)) && - __sigaddset(&set, sig) < 0) + __sigaddset (&set, sig) < 0) return -1; - if (sigprocmask(SIG_SETMASK, &set, &oset) < 0) + if (__sigprocmask (SIG_SETMASK, &set, &oset) < 0) return -1; mask = 0; @@ -46,8 +45,8 @@ DEFUN(__sigsetmask, (mask), int mask) mask = *(int *) &oset; else for (sig = 1; sig < NSIG; ++sig) - if (__sigismember(&oset, sig)) - mask |= sigmask(sig); + if (__sigismember (&oset, sig)) + mask |= sigmask (sig); return mask; } |