text: /*
   * __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;
  	}
  }
  