/* | |
* __signal.c | |
*/ | |
#include <signal.h> | |
__sighandler_t __signal(int signum, __sighandler_t handler, int flags) | |
{ | |
struct sigaction sa; | |
sa.sa_handler = handler; | |
sa.sa_flags = flags; | |
sigemptyset(&sa.sa_mask); | |
if (sigaction(signum, &sa, &sa)) { | |
return (__sighandler_t) SIG_ERR; | |
} else { | |
return (__sighandler_t) sa.sa_handler; | |
} | |
} |