--- rpl/src/rpl.c 2013/12/03 09:36:16 1.151 +++ rpl/src/rpl.c 2016/03/18 12:43:48 1.182 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.17 - Copyright (C) 1989-2013 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.25 + Copyright (C) 1989-2016 Dr. BERTRAND Joël This file is part of RPL/2. @@ -23,6 +23,10 @@ #define MAIN_RPL #include "rpl-conv.h" +// Bug de gcc à partir de gcc 4.6 (bug 48544) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclobbered" + /* ================================================================================ @@ -128,12 +132,7 @@ rplinit(int argc, char *argv[], char *en setvbuf(stdout, NULL, _IOLBF, 0); setvbuf(stderr, NULL, _IOLBF, 0); -# ifndef SEMAPHORES_NOMMES - sem_init(&semaphore_gestionnaires_signaux, 0, 0); -# else - semaphore_gestionnaires_signaux = sem_init2(0, getpid(), SEM_SIGNAUX); - - if (semaphore_gestionnaires_signaux == SEM_FAILED) + if ((s_etat_processus = sys_malloc(sizeof(struct_processus))) == NULL) { erreur = d_es_allocation_memoire; @@ -155,18 +154,36 @@ rplinit(int argc, char *argv[], char *en return(EXIT_FAILURE); } -# endif - if ((s_etat_processus = malloc(sizeof(struct_processus))) == NULL) + (*s_etat_processus).erreur_systeme = d_es; + + initialisation_allocateur_buffer(s_etat_processus); + + if ((*s_etat_processus).erreur_systeme != d_es) { -# ifndef SEMAPHORES_NOMMES - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); -# else - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), SEM_SIGNAUX); -# endif + erreur = d_es_allocation_memoire; + + if ((langue = getenv("LANG")) != NULL) + { + if (strncmp(langue, "fr", 2) == 0) + { + uprintf("+++Système : Mémoire insuffisante\n"); + } + else + { + uprintf("+++System : Not enough memory\n"); + } + } + else + { + uprintf("+++System : Not enough memory\n"); + } + + return(EXIT_FAILURE); + } + if (initialisation_etat_processus_readline() != 0) + { erreur = d_es_allocation_memoire; if ((langue = getenv("LANG")) != NULL) @@ -200,14 +217,6 @@ rplinit(int argc, char *argv[], char *en if (getcwd(repertoire_initial, RPL_PATH_MAX) == NULL) { -# ifndef SEMAPHORES_NOMMES - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); -# else - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), SEM_SIGNAUX); -# endif - if ((*s_etat_processus).langue == 'F') { uprintf("+++Système : Mémoire insuffisante\n"); @@ -220,16 +229,8 @@ rplinit(int argc, char *argv[], char *en return(EXIT_FAILURE); } - if ((arg_exec = malloc((((size_t) argc) + 1) * sizeof(char *))) == NULL) + if ((arg_exec = sys_malloc((((size_t) argc) + 1) * sizeof(char *))) == NULL) { -# ifndef SEMAPHORES_NOMMES - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); -# else - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), SEM_SIGNAUX); -# endif - if ((*s_etat_processus).langue == 'F') { uprintf("+++Système : Mémoire insuffisante\n"); @@ -247,7 +248,7 @@ rplinit(int argc, char *argv[], char *en arg_exec[i] = argv[i]; } - argv[argc] = NULL; + arg_exec[argc] = NULL; initialisation_contexte_cas(s_etat_processus); @@ -283,6 +284,12 @@ rplinit(int argc, char *argv[], char *en pthread_mutexattr_destroy(&attributs_mutex); pthread_mutexattr_init(&attributs_mutex); + pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); + pthread_mutex_init(&((*s_etat_processus).mutex_allocation_buffer), + &attributs_mutex); + pthread_mutexattr_destroy(&attributs_mutex); + + pthread_mutexattr_init(&attributs_mutex); pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&mutex_sections_critiques, &attributs_mutex); pthread_mutexattr_destroy(&attributs_mutex); @@ -292,22 +299,18 @@ rplinit(int argc, char *argv[], char *en pthread_mutex_init(&mutex_liste_variables_partagees, &attributs_mutex); pthread_mutexattr_destroy(&attributs_mutex); + pthread_mutexattr_init(&attributs_mutex); + pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&mutex_liste_threads, &attributs_mutex); + pthread_mutexattr_destroy(&attributs_mutex); + # ifndef SEMAPHORES_NOMMES sem_init(&((*s_etat_processus).semaphore_fork), 0, 0); # else if (((*s_etat_processus).semaphore_fork = sem_init3(0, getpid(), pthread_self(), SEM_FORK)) == SEM_FAILED) { -# ifndef SEMAPHORES_NOMMES - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); -# else - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); -# endif - - liberation(contexte_cas(s_etat_processus); + liberation_contexte_cas(s_etat_processus); if ((*s_etat_processus).langue == 'F') { @@ -338,15 +341,10 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif @@ -375,20 +373,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); if ((*s_etat_processus).langue == 'F') { @@ -414,20 +407,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); if ((*s_etat_processus).langue == 'F') { @@ -452,11 +440,11 @@ rplinit(int argc, char *argv[], char *en if ((*s_etat_processus).langue == 'F') { - printf("+++Copyright (C) 1989 à 2012, 2013 BERTRAND Joël\n"); + printf("+++Copyright (C) 1989 à 2015, 2016 BERTRAND Joël\n"); } else { - printf("+++Copyright (C) 1989 to 2012, 2013 BERTRAND Joel\n"); + printf("+++Copyright (C) 1989 to 2015, 2016 BERTRAND Joel\n"); } } @@ -488,20 +476,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); erreur = d_es_signal; @@ -531,44 +514,6 @@ rplinit(int argc, char *argv[], char *en } # endif - if (lancement_thread_signaux(s_etat_processus) != d_absence_erreur) - { -# ifndef SEMAPHORES_NOMMES - sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); - sem_destroy(&((*s_etat_processus).semaphore_fork)); -# else - sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), - pthread_self(), SEM_FORK); -# endif - - liberation_contexte_cas(s_etat_processus); - liberation_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_flags = 0; @@ -576,20 +521,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -625,20 +565,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -663,20 +598,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -712,20 +642,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -750,20 +675,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -799,20 +719,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -840,20 +755,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -887,20 +797,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -928,20 +833,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -977,20 +877,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1018,20 +913,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1067,20 +957,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, getpid(), + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1172,21 +1057,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1216,21 +1096,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1263,25 +1138,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1326,25 +1194,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1383,21 +1244,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1426,21 +1282,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1471,21 +1322,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1516,21 +1362,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1560,21 +1401,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1605,21 +1441,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1642,21 +1473,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1679,21 +1505,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1725,21 +1546,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1779,21 +1595,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1824,21 +1635,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1861,21 +1667,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1906,21 +1707,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1951,21 +1747,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -1996,21 +1787,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2033,21 +1819,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2081,25 +1862,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2142,25 +1916,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2196,21 +1963,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2231,26 +1993,22 @@ rplinit(int argc, char *argv[], char *en } if (((*s_etat_processus).definitions_chainees = - compactage((*s_etat_processus) - .definitions_chainees)) == NULL) + compactage(s_etat_processus, + (*s_etat_processus).definitions_chainees)) + == NULL) { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2283,21 +2041,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2331,25 +2084,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2392,25 +2138,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2445,21 +2184,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2511,31 +2245,19 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post( - &semaphore_gestionnaires_signaux - ); - sem_destroy( - &semaphore_gestionnaires_signaux - ); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post( - semaphore_gestionnaires_signaux - ); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas( s_etat_processus); - liberation_queue_signaux( + destruction_queue_signaux( s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY @@ -2567,21 +2289,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2611,21 +2328,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2740,21 +2452,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2783,21 +2490,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2832,21 +2534,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2876,21 +2573,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2932,21 +2624,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -2986,21 +2673,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3057,21 +2739,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3101,21 +2778,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3144,21 +2816,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3188,21 +2855,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3231,21 +2893,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3297,20 +2954,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3357,20 +3009,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3624,20 +3271,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3667,20 +3309,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3724,20 +3361,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3814,20 +3446,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3866,20 +3493,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -3946,20 +3568,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4002,20 +3619,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4098,21 +3710,16 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4158,20 +3765,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4245,20 +3847,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4293,20 +3890,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4342,20 +3934,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4390,20 +3977,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4443,20 +4025,15 @@ rplinit(int argc, char *argv[], char *en { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus).semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4511,25 +4088,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4581,25 +4151,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4632,25 +4195,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4682,27 +4238,23 @@ rplinit(int argc, char *argv[], char *en (*s_etat_processus).definitions_chainees = tampon; (*s_etat_processus).position_courante = 0; + (*s_etat_processus).type_en_cours = NON; recherche_type(s_etat_processus); if ((*s_etat_processus).erreur_systeme != d_es) { # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4748,25 +4300,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4800,21 +4345,16 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4840,25 +4380,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4893,21 +4426,16 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus).semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); - sem_destroy3((*s_etat_processus).semphore_fork, + sem_destroy3((*s_etat_processus).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4936,30 +4464,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post( - &semaphore_gestionnaires_signaux - ); - sem_destroy( - &semaphore_gestionnaires_signaux - ); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post( - semaphore_gestionnaires_signaux - ); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -4995,25 +4511,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -5039,30 +4548,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post( - &semaphore_gestionnaires_signaux - ); - sem_destroy( - &semaphore_gestionnaires_signaux - ); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post( - semaphore_gestionnaires_signaux - ); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -5098,25 +4595,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy( - &semaphore_gestionnaires_signaux); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -5467,7 +4957,7 @@ rplinit(int argc, char *argv[], char *en (*(*((struct_processus_fils *) (*(*((struct_liste_chainee *) l_element_courant)).donnee).objet)) - .thread).pid, rpl_sigurg); + .thread).pid, rpl_sigurg, d_faux); } else { @@ -5478,7 +4968,7 @@ rplinit(int argc, char *argv[], char *en (*(*((struct_processus_fils *) (*(*((struct_liste_chainee *) l_element_courant)).donnee).objet)) - .thread).pid, rpl_sigabort); + .thread).pid, rpl_sigabort, d_faux); } else { @@ -5486,7 +4976,7 @@ rplinit(int argc, char *argv[], char *en (*(*((struct_processus_fils *) (*(*((struct_liste_chainee *) l_element_courant)).donnee).objet)) - .thread).pid, rpl_sigstop); + .thread).pid, rpl_sigstop, d_faux); } } } @@ -5590,30 +5080,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post( - &semaphore_gestionnaires_signaux - ); - sem_destroy( - &semaphore_gestionnaires_signaux - ); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post( - semaphore_gestionnaires_signaux - ); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -5653,30 +5131,18 @@ rplinit(int argc, char *argv[], char *en # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus) .semaphore_fork)); - sem_post( - &semaphore_gestionnaires_signaux - ); - sem_destroy( - &semaphore_gestionnaires_signaux - ); sem_destroy(&((*s_etat_processus) .semaphore_fork)); # else sem_post((*s_etat_processus) .semaphore_fork); - sem_post( - semaphore_gestionnaires_signaux - ); - sem_destroy2( - semaphore_gestionnaires_signaux, - getpid(), SEM_SIGNAUX); sem_destroy3((*s_etat_processus) - .semphore_fork, getpid(), + .semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif liberation_contexte_cas(s_etat_processus); - liberation_queue_signaux(s_etat_processus); + destruction_queue_signaux(s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY stackoverflow_deinstall_handler(); @@ -5907,9 +5373,9 @@ rplinit(int argc, char *argv[], char *en { if ((*resultats) != NULL) { - free((*resultats)); + sys_free((*resultats)); - if (((*resultats) = malloc(((size_t) + if (((*resultats) = sys_malloc(((size_t) ((*s_etat_processus) .hauteur_pile_operationnelle + 1)) * sizeof(unsigned char **))) != NULL) @@ -6248,14 +5714,6 @@ rplinit(int argc, char *argv[], char *en free((*s_etat_processus).localisation); -# ifndef SEMAPHORES_NOMMES - sem_post(&semaphore_gestionnaires_signaux); - sem_destroy(&semaphore_gestionnaires_signaux); -# else - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), SEM_SIGNAUX); -# endif - destruction_queue_signaux(s_etat_processus); liberation_contexte_cas(s_etat_processus); @@ -6263,14 +5721,21 @@ rplinit(int argc, char *argv[], char *en if ((*s_etat_processus).requete_redemarrage == d_vrai) { - chdir(repertoire_initial); - execvp(arg_exec[0], &(arg_exec[0])); + if (chdir(repertoire_initial) == 0) + { + execvp(arg_exec[0], &(arg_exec[0])); + } + erreur = d_erreur; } - free(arg_exec); - arret_thread_signaux(s_etat_processus); - free(s_etat_processus); + liberation_etat_processus_readline(); + + liberation_allocateur_buffer(s_etat_processus); + pthread_mutex_destroy(&((*s_etat_processus).mutex_allocation_buffer)); + + sys_free(s_etat_processus); + sys_free(arg_exec); # ifdef DEBUG_MEMOIRE debug_memoire_verification(); @@ -6396,7 +5861,7 @@ controle_integrite(struct_processus *s_e unsigned char * -date_compilation() +date_compilation(struct_processus *s_etat_processus) { unsigned char *date; @@ -6411,4 +5876,6 @@ date_compilation() return(date); } +#pragma GCC diagnostic pop + // vim: ts=4