Commentato il codice del server echo basato sulla funzione poll.
[gapil.git] / listati / SignalRestart.c
1 inline SigFunc * SignalRestart(int signo, SigFunc *func) 
2 {
3     struct sigaction new_handl, old_handl;
4     new_handl.sa_handler = func;             /* set signal handler */
5     new_handl.sa_flags = SA_RESTART;         /* restart system call */
6     /* clear signal mask: no signal blocked during execution of func */
7     if (sigemptyset(&new_handl.sa_mask)!=0){ /* initialize signal set */
8         return SIG_ERR;
9     }
10     /* change action for signo signal */
11     if (sigaction(signo, &new_handl, &old_handl)){ 
12         return SIG_ERR;
13     }
14     return (old_handl.sa_handler);
15 }