--- rpl/src/instructions_d5.c 2010/05/24 10:58:32 1.22 +++ rpl/src/instructions_d5.c 2010/05/25 18:09:44 1.23 @@ -1277,13 +1277,25 @@ instruction_detach(struct_processus *s_e (*s_argument_thread).s_etat_processus = s_etat_processus; +# ifdef DEBUG_MEMOIRE + debug_memoire_verrouillage(); +# endif + if (pthread_create(&thread_surveillance, &attributs, surveillance_processus, s_argument_thread) != 0) { +# ifdef DEBUG_MEMOIRE + debug_memoire_deverrouillage(); +# endif + (*s_etat_processus).erreur_systeme = d_es_processus; return; } +# ifdef DEBUG_MEMOIRE + debug_memoire_deverrouillage(); +# endif + if (pthread_attr_destroy(&attributs) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -1296,10 +1308,6 @@ instruction_detach(struct_processus *s_e * Processus fils */ -# ifdef DEBUG_MEMOIRE - debug_memoire_reinitialisation(); -# endif - # ifndef SEMAPHORES_NOMMES sem_post(&semaphore_gestionnaires_signaux); sem_destroy(&semaphore_gestionnaires_signaux);