diff options
Diffstat (limited to 'mdk-stage1/dietlibc/lib/signal.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/signal.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/lib/signal.c b/mdk-stage1/dietlibc/lib/signal.c new file mode 100644 index 000000000..51441558e --- /dev/null +++ b/mdk-stage1/dietlibc/lib/signal.c @@ -0,0 +1,12 @@ +#include <signal.h> + +sighandler_t signal(int signum, sighandler_t action) { + struct sigaction sa,oa; + sa.sa_handler=action; + sigemptyset(&sa.sa_mask); + sigaddset(&sa.sa_mask,signum); + sa.sa_flags=SA_NODEFER; + if (sigaction(signum,&sa,&oa)) + return SIG_ERR; + return oa.sa_handler; +} |