/* * __signal.c */ #include __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; } }