--- rpl/src/instructions_d5.c 2019/02/11 09:45:49 1.169 +++ rpl/src/instructions_d5.c 2019/02/28 12:40:35 1.171 @@ -1307,6 +1307,11 @@ instruction_detach(struct_processus *s_e pthread_mutexattr_init(&attributs_mutex); pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&mutex_liste_threads_surveillance, &attributs_mutex); + pthread_mutexattr_destroy(&attributs_mutex); + + pthread_mutexattr_init(&attributs_mutex); + pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&mutex_sigaction, &attributs_mutex); pthread_mutexattr_destroy(&attributs_mutex); @@ -1326,7 +1331,7 @@ instruction_detach(struct_processus *s_e creation_queue_signaux(s_etat_processus); routine_recursive = 0; - nombre_thread_surveillance_processus = 0; + nombre_threads_surveillance_processus = 0; (*s_etat_processus).pointeur_signal_lecture = 0; (*s_etat_processus).pointeur_signal_ecriture = 0; @@ -2752,7 +2757,7 @@ instruction_detach(struct_processus *s_e pthread_mutex_lock(&((*s_etat_processus).mutex_pile_processus)); - while(nombre_thread_surveillance_processus != 0) + while(nombre_threads_surveillance_processus != 0) { pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)); nanosleep(&attente, NULL); @@ -2812,6 +2817,7 @@ instruction_detach(struct_processus *s_e destruction_queue_signaux(s_etat_processus); pthread_mutex_destroy(&mutex_liste_threads); + pthread_mutex_destroy(&mutex_liste_threads_surveillance); # ifndef SEMAPHORES_NOMMES sem_post(&((*s_etat_processus).semaphore_fork));