--- rpl/src/gestion_processus.c 2016/03/22 17:12:14 1.84 +++ rpl/src/gestion_processus.c 2016/07/21 15:22:52 1.85 @@ -73,7 +73,6 @@ surveillance_processus(void *argument) sigfillset(&set); pthread_sigmask(SIG_BLOCK, &set, NULL); - nombre_thread_surveillance_processus++; s_argument_thread = argument; s_etat_processus = (*s_argument_thread).s_etat_processus; @@ -84,6 +83,7 @@ surveillance_processus(void *argument) BUG(1, uprintf("General mutex error!\n")); } + nombre_thread_surveillance_processus++; insertion_thread_surveillance(s_etat_processus, s_argument_thread); if (pthread_mutex_unlock(&((*s_etat_processus).mutex_pile_processus)) != 0) @@ -1428,6 +1428,7 @@ surveillance_processus(void *argument) } retrait_thread_surveillance(s_etat_processus, s_argument_thread); + nombre_thread_surveillance_processus--; if (pthread_mutex_unlock(&((*s_etat_processus) .mutex_pile_processus)) != 0) @@ -1436,7 +1437,6 @@ surveillance_processus(void *argument) } } - nombre_thread_surveillance_processus--; pthread_exit(NULL); }