This commit was generated by cvs2svn to track changes on a CVS vendor
[external/binutils.git] / libiberty / sigsetmask.c
1 /* Version of sigsetmask.c
2    Written by Steve Chamberlain (sac@cygnus.com).
3    Contributed by Cygnus Support.
4    This file is in the public doamin. */
5
6 /* Set the current signal mask to the set provided, and return the 
7    previous value */
8
9 #define _POSIX_SOURCE
10 #include <ansidecl.h>
11 /* Including <sys/types.h> seems to be needed by ISC. */
12 #include <sys/types.h>
13 #include <signal.h>
14
15 #ifdef SIG_SETMASK
16 int
17 DEFUN(sigsetmask,(set),
18       int set)
19 {
20     sigset_t new;
21     sigset_t old;
22     
23     sigemptyset (&new);
24     if (set != 0) {
25       abort();  /* FIXME, we don't know how to translate old mask to new */
26     }
27     sigprocmask(SIG_SETMASK, &new, &old);
28     return 1;   /* FIXME, we always return 1 as old value.  */
29 }
30 #endif