--- rpl/src/rpl.c 2014/04/25 08:18:59 1.155 +++ rpl/src/rpl.c 2016/03/18 12:43:48 1.182 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.1.18 - Copyright (C) 1989-2014 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,16 +299,17 @@ 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) { - sem_post(semaphore_gestionnaires_signaux); - sem_destroy2(semaphore_gestionnaires_signaux, getpid(), - SEM_SIGNAUX); - liberation_contexte_cas(s_etat_processus); if ((*s_etat_processus).langue == 'F') @@ -333,14 +341,9 @@ 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).semaphore_fork, getpid(), pthread_self(), SEM_FORK); # endif @@ -370,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).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') { @@ -409,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).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') { @@ -447,11 +440,11 @@ rplinit(int argc, char *argv[], char *en if ((*s_etat_processus).langue == 'F') { - printf("+++Copyright (C) 1989 à 2013, 2014 BERTRAND Joël\n"); + printf("+++Copyright (C) 1989 à 2015, 2016 BERTRAND Joël\n"); } else { - printf("+++Copyright (C) 1989 to 2013, 2014 BERTRAND Joel\n"); + printf("+++Copyright (C) 1989 to 2015, 2016 BERTRAND Joel\n"); } } @@ -483,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).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; @@ -526,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).semaphore_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; @@ -571,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).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(); @@ -620,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).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(); @@ -658,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).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(); @@ -707,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).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(); @@ -745,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).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(); @@ -794,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).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(); @@ -835,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).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(); @@ -882,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).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(); @@ -923,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).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(); @@ -972,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).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(); @@ -1013,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).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(); @@ -1062,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).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(); @@ -1167,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).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(); @@ -1211,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).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(); @@ -1258,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) .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(); @@ -1321,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) .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(); @@ -1378,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).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(); @@ -1421,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).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(); @@ -1466,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).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(); @@ -1511,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).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(); @@ -1555,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).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(); @@ -1600,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).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(); @@ -1637,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).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(); @@ -1674,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).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(); @@ -1720,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).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(); @@ -1774,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).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(); @@ -1819,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).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(); @@ -1856,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).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(); @@ -1901,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).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(); @@ -1946,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).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(); @@ -1991,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).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(); @@ -2028,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).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(); @@ -2076,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) .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(); @@ -2137,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) .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(); @@ -2191,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).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(); @@ -2226,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).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(); @@ -2278,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).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(); @@ -2326,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) .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(); @@ -2387,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) .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(); @@ -2440,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).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(); @@ -2506,23 +2245,11 @@ 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) .semaphore_fork, getpid(), pthread_self(), SEM_FORK); @@ -2530,7 +2257,7 @@ rplinit(int argc, char *argv[], char *en liberation_contexte_cas( s_etat_processus); - liberation_queue_signaux( + destruction_queue_signaux( s_etat_processus); # ifdef HAVE_STACK_OVERFLOW_RECOVERY @@ -2562,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).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(); @@ -2606,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).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(); @@ -2735,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).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(); @@ -2778,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).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(); @@ -2827,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).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(); @@ -2871,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).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(); @@ -2927,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).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(); @@ -2981,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).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(); @@ -3052,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).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(); @@ -3096,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).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(); @@ -3139,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).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(); @@ -3183,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).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(); @@ -3226,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).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(); @@ -3292,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).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(); @@ -3352,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).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(); @@ -3619,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).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(); @@ -3662,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).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(); @@ -3719,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).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(); @@ -3809,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).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(); @@ -3861,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).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(); @@ -3941,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).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(); @@ -3997,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).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(); @@ -4093,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).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(); @@ -4153,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).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(); @@ -4240,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).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(); @@ -4288,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).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(); @@ -4337,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).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(); @@ -4385,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).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(); @@ -4438,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).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(); @@ -4506,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) .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(); @@ -4576,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) .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(); @@ -4627,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) .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(); @@ -4677,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).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(); @@ -4743,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) .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(); @@ -4795,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).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(); @@ -4835,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) .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(); @@ -4888,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).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(); @@ -4931,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) .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(); @@ -4990,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) .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(); @@ -5034,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) .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(); @@ -5093,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) .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(); @@ -5462,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 { @@ -5473,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 { @@ -5481,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); } } } @@ -5585,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) .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(); @@ -5648,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) .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(); @@ -5902,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) @@ -6243,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); @@ -6258,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(); @@ -6391,7 +5861,7 @@ controle_integrite(struct_processus *s_e unsigned char * -date_compilation() +date_compilation(struct_processus *s_etat_processus) { unsigned char *date; @@ -6406,4 +5876,6 @@ date_compilation() return(date); } +#pragma GCC diagnostic pop + // vim: ts=4