xref: /haiku/src/libs/stdc++/legacy/sigsetmask.c (revision 2b76973fa2401f7a5edf68e6470f3d3210cbcff3)
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
31