1 typedef void SigFunc(int);
2 inline SigFunc * Signal(int signo, SigFunc *func)
4 struct sigaction new_handl, old_handl;
5 new_handl.sa_handler = func;
6 /* clear signal mask: no signal blocked during execution of func */
7 if (sigemptyset(&new_handl.sa_mask)!=0){ /* initialize signal set */
10 new_handl.sa_flags=0; /* init to 0 all flags */
11 /* change action for signo signal */
12 if (sigaction(signo, &new_handl, &old_handl)){
15 return (old_handl.sa_handler);