--- rpl/src/gestion_processus.c 2010/06/02 10:28:45 1.13 +++ rpl/src/gestion_processus.c 2010/06/04 07:48:19 1.14 @@ -1780,52 +1780,53 @@ surveillance_processus(void *argument) } } - if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) + if ((*s_etat_processus).debug == d_vrai) + if (((*s_etat_processus).type_debug & + d_debug_processus) != 0) { - (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus; - } - } - - if ((*s_etat_processus).debug == d_vrai) - if (((*s_etat_processus).type_debug & - d_debug_processus) != 0) - { - if ((*s_argument_thread).processus_detache == d_vrai) - { - if ((*s_etat_processus).langue == 'F') + if ((*s_argument_thread).processus_detache == d_vrai) { - printf("[%d] Arręt du thread de surveillance du" - " processus %d\n", (int) getpid(), - (int) (*s_argument_thread).pid); + if ((*s_etat_processus).langue == 'F') + { + printf("[%d] Arręt du thread de surveillance du" + " processus %d\n", (int) getpid(), + (int) (*s_argument_thread).pid); + } + else + { + printf("[%d] Stop monitoring of process %d", (int) getpid(), + (int) (*s_argument_thread).pid); + } } else { - printf("[%d] Stop monitoring of process %d", (int) getpid(), - (int) (*s_argument_thread).pid); + if ((*s_etat_processus).langue == 'F') + { + printf("[%d] Arręt du thread de surveillance du" + " thread %llu\n", (int) getpid(), + (unsigned long long) (*s_argument_thread) + .tid); + } + else + { + printf("[%d] Stop monitoring of thread %llu", + (int) getpid(), + (unsigned long long) (*s_argument_thread) + .tid); + } } + + fflush(stdout); } - else + + retrait_thread_surveillance(s_etat_processus, s_argument_thread); + + if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) { - if ((*s_etat_processus).langue == 'F') - { - printf("[%d] Arręt du thread de surveillance du" - " thread %llu\n", (int) getpid(), - (unsigned long long) (*s_argument_thread) - .tid); - } - else - { - printf("[%d] Stop monitoring of thread %llu", (int) getpid(), - (unsigned long long) (*s_argument_thread) - .tid); - } + (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus; } - - fflush(stdout); } - retrait_thread_surveillance(s_etat_processus, s_argument_thread); - pthread_exit(NULL); }