version 1.51, 2010/11/26 11:46:38
|
version 1.55, 2010/12/14 15:46:24
|
Line 419 rplinit(int argc, char *argv[], unsigned
|
Line 419 rplinit(int argc, char *argv[], unsigned
|
# else |
# else |
action.sa_handler = interruption1; |
action.sa_handler = interruption1; |
# endif |
# endif |
action.sa_flags = SA_ONSTACK | SA_SIGINFO | SA_NODEFER; |
action.sa_flags = SA_ONSTACK | SA_SIGINFO; |
|
|
if (sigaction(SIGINT, &action, NULL) != 0) |
if (sigaction(SIGINT, &action, NULL) != 0) |
{ |
{ |
Line 438 rplinit(int argc, char *argv[], unsigned
|
Line 438 rplinit(int argc, char *argv[], unsigned
|
return(EXIT_FAILURE); |
return(EXIT_FAILURE); |
} |
} |
|
|
|
if (sigaction(SIGTERM, &action, NULL) != 0) |
|
{ |
|
erreur = d_es_signal; |
|
|
|
if ((*s_etat_processus).langue == 'F') |
|
{ |
|
printf("+++Système : Initialisation des signaux POSIX " |
|
"impossible\n"); |
|
} |
|
else |
|
{ |
|
printf("+++System : Initialization of POSIX signals failed\n"); |
|
} |
|
|
|
return(EXIT_FAILURE); |
|
} |
|
|
# ifndef _BROKEN_SIGINFO |
# ifndef _BROKEN_SIGINFO |
action.sa_sigaction = interruption2; |
action.sa_sigaction = interruption2; |
# else |
# else |
Line 465 rplinit(int argc, char *argv[], unsigned
|
Line 482 rplinit(int argc, char *argv[], unsigned
|
# else |
# else |
action.sa_handler = interruption4; |
action.sa_handler = interruption4; |
# endif |
# endif |
action.sa_flags = SA_ONSTACK | SA_SIGINFO | SA_NODEFER; |
// SIGCONT ne doit pas pouvoir être appelé depuis son gestionnaire. |
|
action.sa_flags = SA_ONSTACK | SA_SIGINFO; |
|
|
if (sigaction(SIGSTART, &action, NULL) != 0) |
if (sigaction(SIGSTART, &action, NULL) != 0) |
{ |
{ |
Line 1599 rplinit(int argc, char *argv[], unsigned
|
Line 1617 rplinit(int argc, char *argv[], unsigned
|
# else |
# else |
action.sa_handler = interruption10; |
action.sa_handler = interruption10; |
# endif |
# endif |
action.sa_flags = SA_ONSTACK | SA_SIGINFO | SA_NODEFER; |
action.sa_flags = SA_ONSTACK | SA_SIGINFO; |
|
|
if (sigaction(SIGHUP, &action, NULL) != 0) |
if (sigaction(SIGHUP, &action, NULL) != 0) |
{ |
{ |
Line 3558 rplinit(int argc, char *argv[], unsigned
|
Line 3576 rplinit(int argc, char *argv[], unsigned
|
} |
} |
|
|
# if !defined(Cygwin) && !defined(OpenBSD) |
# if !defined(Cygwin) && !defined(OpenBSD) |
(*s_etat_processus).pile_signal.ss_flags = SS_DISABLE; |
do |
sigaltstack(&((*s_etat_processus).pile_signal), NULL); |
{ |
|
(*s_etat_processus).pile_signal.ss_flags = SS_DISABLE; |
|
} while(sigaltstack(&((*s_etat_processus).pile_signal), NULL) != 0); |
free((*s_etat_processus).pile_signal.ss_sp); |
free((*s_etat_processus).pile_signal.ss_sp); |
# endif |
# endif |
|
|