--- rpl/src/gestion_processus.c 2019/02/11 06:18:20 1.97 +++ rpl/src/gestion_processus.c 2019/02/17 16:08:40 1.98 @@ -83,7 +83,7 @@ surveillance_processus(void *argument) BUG(1, uprintf("General mutex error!\n")); } - nombre_thread_surveillance_processus++; + nombre_threads_surveillance_processus++; if (pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)) != 0) { @@ -1429,8 +1429,21 @@ surveillance_processus(void *argument) fflush(stdout); } + if (pthread_mutex_unlock(&((*s_etat_processus) + .mutex_pile_processus)) != 0) + { + (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus; + } + retrait_thread_surveillance(s_etat_processus, s_argument_thread); - nombre_thread_surveillance_processus--; + + if (pthread_mutex_lock(&((*s_etat_processus) + .mutex_pile_processus)) != 0) + { + (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus; + } + + nombre_threads_surveillance_processus--; if (pthread_mutex_unlock(&((*s_etat_processus) .mutex_pile_processus)) != 0)