diff options
Diffstat (limited to 'libc/signal/bsd_sig.c')
-rw-r--r-- | libc/signal/bsd_sig.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/libc/signal/bsd_sig.c b/libc/signal/bsd_sig.c deleted file mode 100644 index 405447eae..000000000 --- a/libc/signal/bsd_sig.c +++ /dev/null @@ -1,34 +0,0 @@ -#define __USE_BSD_SIGNAL - -#include <signal.h> - -#undef signal - -/* The `sig' bit is set if the interrupt on it - * is enabled via siginterrupt (). */ -extern sigset_t _sigintr; - -__sighandler_t -__bsd_signal (int sig, __sighandler_t handler) -{ - int ret; - struct sigaction action, oaction; - action.sa_handler = handler; - __sigemptyset (&action.sa_mask); - if (!__sigismember (&_sigintr, sig)) { -#ifdef SA_RESTART - action.sa_flags = SA_RESTART; -#else - action.sa_flags = 0; -#endif - } - else { -#ifdef SA_INTERRUPT - action.sa_flags = SA_INTERRUPT; -#else - action.sa_flags = 0; -#endif - } - ret = sigaction (sig, &action, &oaction); - return (ret == -1) ? SIG_ERR : oaction.sa_handler; -} |