buildtools/legacy/binutils/libiberty/sigsetmask.c
Oliver Tappe 0aa3a3d9db * updated binutils to 2.17, most problems should be solved now...
except one: the binaries produced by this version of binutils crashes the loader of
  BeOS versions BONE, Dano (and probably Zeta, too). That's a pity, but I currently
  do not know how to fix this (as the fix available for older versions of binutils
  does not work anymore).



git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@20192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 21:17:52 +00:00

41 lines
924 B
C

/* 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
*/
#define _POSIX_SOURCE
#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