summaryrefslogtreecommitdiff
path: root/libc/signal/bsd_sig.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/signal/bsd_sig.c')
-rw-r--r--libc/signal/bsd_sig.c34
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;
-}