1169695Skan/* Version of sigsetmask.c 2169695Skan Written by Steve Chamberlain (sac@cygnus.com). 3169695Skan Contributed by Cygnus Support. 4169695Skan This file is in the public doamin. */ 5169695Skan 6169695Skan/* 7169695Skan 8169695Skan@deftypefn Supplemental int sigsetmask (int @var{set}) 9169695Skan 10169695SkanSets the signal mask to the one provided in @var{set} and returns 11169695Skanthe old mask (which, for libiberty's implementation, will always 12169695Skanbe the value @code{1}). 13169695Skan 14169695Skan@end deftypefn 15169695Skan 16169695Skan*/ 17169695Skan 18169695Skan#define _POSIX_SOURCE 19169695Skan#include <ansidecl.h> 20169695Skan/* Including <sys/types.h> seems to be needed by ISC. */ 21169695Skan#include <sys/types.h> 22169695Skan#include <signal.h> 23169695Skan 24169695Skanextern void abort (void) ATTRIBUTE_NORETURN; 25169695Skan 26169695Skan#ifdef SIG_SETMASK 27169695Skanint 28169695Skansigsetmask (int set) 29169695Skan{ 30169695Skan sigset_t new_sig; 31169695Skan sigset_t old_sig; 32169695Skan 33169695Skan sigemptyset (&new_sig); 34169695Skan if (set != 0) { 35169695Skan abort(); /* FIXME, we don't know how to translate old mask to new */ 36169695Skan } 37169695Skan sigprocmask(SIG_SETMASK, &new_sig, &old_sig); 38169695Skan return 1; /* FIXME, we always return 1 as old value. */ 39169695Skan} 40169695Skan#endif 41