X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=sources%2FSigHand.c;h=89585e3cc63c3f3e485aca5a4017fae8288414f3;hb=5e54ad63881cd5bd7c71395d073127e41f1b68d6;hp=53d185a08f50be41176c66ac1683fa2c2e840b0e;hpb=9c3be0a6a901fad667ba1abcd8b46c712020cf26;p=gapil.git diff --git a/sources/SigHand.c b/sources/SigHand.c index 53d185a..89585e3 100644 --- a/sources/SigHand.c +++ b/sources/SigHand.c @@ -22,7 +22,7 @@ * * Author: S. Piccardi Dec. 2002 * - * $Id: SigHand.c,v 1.2 2002/12/03 22:30:11 piccardi Exp $ + * $Id: SigHand.c,v 1.5 2003/05/02 09:55:14 piccardi Exp $ * *****************************************************************************/ #include /* error simbol definitions */ @@ -49,17 +49,15 @@ inline SigFunc * Signal(int signo, SigFunc *func) { struct sigaction new_handl, old_handl; - new_handl.sa_handler=func; + new_handl.sa_handler = func; /* set signal handler */ /* clear signal mask: no signal blocked during execution of func */ - if (sigemptyset(&new_handl.sa_mask)!=0){ /* initialize signal set */ - perror("cannot initializes the signal set to empty"); /* see mess. */ - exit(1); + if (sigemptyset(&new_handl.sa_mask)!=0){ /* initialize signal set */ + return SIG_ERR; } - new_handl.sa_flags=0; /* init to 0 all flags */ + new_handl.sa_flags=0; /* init to 0 all flags */ /* change action for signo signal */ if (sigaction(signo,&new_handl,&old_handl)){ - perror("sigaction failed on signal action setting"); - exit(1); + return SIG_ERR; } return (old_handl.sa_handler); } @@ -68,7 +66,7 @@ inline SigFunc * Signal(int signo, SigFunc *func) * Generic handler for SIGCHLD signal * * Simone Piccardi Dec. 2002 - * $Id: SigHand.c,v 1.2 2002/12/03 22:30:11 piccardi Exp $ + * $Id: SigHand.c,v 1.5 2003/05/02 09:55:14 piccardi Exp $ */ void HandSigCHLD(int sig) {