version 1.49, 2010/09/06 16:50:17
|
version 1.55, 2010/12/14 15:46:24
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.19 |
RPL/2 (R) version 4.0.20 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
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 1819 rplinit(int argc, char *argv[], unsigned
|
Line 1837 rplinit(int argc, char *argv[], unsigned
|
(*s_etat_processus).autorisation_empilement_programme = 'N'; |
(*s_etat_processus).autorisation_empilement_programme = 'N'; |
(*s_etat_processus).requete_arret = 'N'; |
(*s_etat_processus).requete_arret = 'N'; |
(*s_etat_processus).evaluation_forcee = 'N'; |
(*s_etat_processus).evaluation_forcee = 'N'; |
|
(*s_etat_processus).recherche_type = 'N'; |
|
|
(*s_etat_processus).constante_symbolique = 'N'; |
(*s_etat_processus).constante_symbolique = 'N'; |
(*s_etat_processus).traitement_symbolique = 'N'; |
(*s_etat_processus).traitement_symbolique = 'N'; |
Line 3557 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 |
|
|