Discussione: [C] gestione segnali
View Single Post
Old 27-06-2007, 12:29   #1
noodles_83
Junior Member
 
Iscritto dal: Oct 2004
Messaggi: 11
[C] gestione segnali

Sto trattando la gestione dei segnali su un programma client-server.

Mi chiedo se l'approccio che sto usando va bene, dato che e' la prima volta che mi ci trovo davanti.

Di seguito vi riporto il codice relativo alla gestione dei segnali.


struct sigaction sign; /*struttura per la gestione dei segnali*/
sigset_t set; /*signal mask*/

/*maschero temporaneamente i segnali*/
if(sigfillset(&set)==-1){ /*pongo la nuova maschera tutta a 1, blocco tutti i segnali*/
perror("main: sigfillset");
exit(EXIT_FAILURE);
}

if(sigprocmask(SIG_SETMASK,&set,NULL)==-1) /*setto la nuova maschera*/
perror("main: sigprocmask");

/*inizio a gestire i segnali*/
memset(&sign,0,sizeof(sign));
sign.sa_handler=SigIntHandler;
sign.sa_flags = SA_RESTART;
if(sigaction(SIGINT,&sign,NULL)==-1) /*installo nuovo segnale SIGINT*/
perror("main: sigfillset");
sign.sa_handler = ResizeHandler;
sign.sa_flags = SA_RESTART;
if(sigaction(SIGWINCH, &sign, NULL)==-1) /*installo segnale SIGWINCH(resize win)*/
perror("main: sigfillset");

/*tolgo la maschera temporanea*/
if(sigemptyset(&set)==-1)
perror("main:sigemptyset");

if(sigprocmask(SIG_SETMASK,&set,NULL)==-1) /*setto la nuova maschera*/
perror("main: sigprocmask");


quello che ho scritto ha senso o sbaglio qualcosa?
grazie a chiunque mi risponda.
noodles_83 è offline   Rispondi citando il messaggio o parte di esso