version 1.178, 2016/03/15 16:31:15
|
version 1.183, 2016/03/22 17:12:14
|
Line 123 rplinit(int argc, char *argv[], char *en
|
Line 123 rplinit(int argc, char *argv[], char *en
|
errno = 0; |
errno = 0; |
s_queue_signaux = NULL; |
s_queue_signaux = NULL; |
routine_recursive = 0; |
routine_recursive = 0; |
|
nombre_thread_surveillance_processus = 0; |
pid_processus_pere = getpid(); |
pid_processus_pere = getpid(); |
|
|
# ifdef DEBUG_MEMOIRE |
# ifdef DEBUG_MEMOIRE |
Line 514 rplinit(int argc, char *argv[], char *en
|
Line 515 rplinit(int argc, char *argv[], char *en
|
} |
} |
# endif |
# endif |
|
|
if (lancement_thread_signaux(s_etat_processus) != d_absence_erreur) |
|
{ |
|
# ifndef SEMAPHORES_NOMMES |
|
sem_post(&((*s_etat_processus).semaphore_fork)); |
|
sem_destroy(&((*s_etat_processus).semaphore_fork)); |
|
# else |
|
sem_post((*s_etat_processus).semaphore_fork); |
|
sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), |
|
pthread_self(), SEM_FORK); |
|
# endif |
|
|
|
liberation_contexte_cas(s_etat_processus); |
|
destruction_queue_signaux(s_etat_processus); |
|
|
|
# ifdef HAVE_STACK_OVERFLOW_RECOVERY |
|
stackoverflow_deinstall_handler(); |
|
# endif |
|
|
|
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); |
|
} |
|
|
|
action.sa_handler = interruption1; |
action.sa_handler = interruption1; |
action.sa_flags = 0; |
action.sa_flags = 0; |
|
|
Line 4990 rplinit(int argc, char *argv[], char *en
|
Line 4958 rplinit(int argc, char *argv[], char *en
|
(*(*((struct_processus_fils *) |
(*(*((struct_processus_fils *) |
(*(*((struct_liste_chainee *) |
(*(*((struct_liste_chainee *) |
l_element_courant)).donnee).objet)) |
l_element_courant)).donnee).objet)) |
.thread).pid, rpl_sigurg); |
.thread).pid, rpl_sigurg, d_faux); |
} |
} |
else |
else |
{ |
{ |
Line 5001 rplinit(int argc, char *argv[], char *en
|
Line 4969 rplinit(int argc, char *argv[], char *en
|
(*(*((struct_processus_fils *) |
(*(*((struct_processus_fils *) |
(*(*((struct_liste_chainee *) |
(*(*((struct_liste_chainee *) |
l_element_courant)).donnee).objet)) |
l_element_courant)).donnee).objet)) |
.thread).pid, rpl_sigabort); |
.thread).pid, rpl_sigabort, d_faux); |
} |
} |
else |
else |
{ |
{ |
Line 5009 rplinit(int argc, char *argv[], char *en
|
Line 4977 rplinit(int argc, char *argv[], char *en
|
(*(*((struct_processus_fils *) |
(*(*((struct_processus_fils *) |
(*(*((struct_liste_chainee *) |
(*(*((struct_liste_chainee *) |
l_element_courant)).donnee).objet)) |
l_element_courant)).donnee).objet)) |
.thread).pid, rpl_sigstop); |
.thread).pid, rpl_sigstop, d_faux); |
} |
} |
} |
} |
} |
} |
Line 5762 rplinit(int argc, char *argv[], char *en
|
Line 5730 rplinit(int argc, char *argv[], char *en
|
erreur = d_erreur; |
erreur = d_erreur; |
} |
} |
|
|
sys_free(arg_exec); |
|
liberation_etat_processus_readline(); |
liberation_etat_processus_readline(); |
|
|
liberation_allocateur_buffer(s_etat_processus); |
liberation_allocateur_buffer(s_etat_processus); |
pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); |
pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); |
|
|
sys_free(s_etat_processus); |
sys_free(s_etat_processus); |
|
sys_free(arg_exec); |
|
|
# ifdef DEBUG_MEMOIRE |
# ifdef DEBUG_MEMOIRE |
debug_memoire_verification(); |
debug_memoire_verification(); |