/* Version of sigsetmask.c Written by Steve Chamberlain (sac@cygnus.com). Contributed by Cygnus Support. This file is in the public doamin. */ /* @deftypefn Supplemental int sigsetmask (int @var{set}) Sets the signal mask to the one provided in @var{set} and returns the old mask (which, for libiberty's implementation, will always be the value @code{1}). @end deftypefn */ #include <ansidecl.h> /* Including <sys/types.h> seems to be needed by ISC. */ #include <sys/types.h> #include <signal.h> extern void abort (void) ATTRIBUTE_NORETURN; #ifdef SIG_SETMASK int sigsetmask (int set) { sigset_t new_sig; sigset_t old_sig; sigemptyset (&new_sig); if (set != 0) { abort(); /* FIXME, we don't know how to translate old mask to new */ } sigprocmask(SIG_SETMASK, &new_sig, &old_sig); return 1; /* FIXME, we always return 1 as old value. */ } #endif |