--- rpl/src/instructions_d5.c 2010/05/13 19:09:18 1.19 +++ rpl/src/instructions_d5.c 2010/05/24 10:58:32 1.22 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.15 + RPL/2 (R) version 4.0.16 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -1296,6 +1296,10 @@ 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); @@ -2639,6 +2643,8 @@ instruction_detach(struct_processus *s_e liberation(s_etat_processus, s_objet); # ifndef Cygwin + (*s_etat_processus).pile_signal.ss_flags = SS_DISABLE; + sigaltstack(&((*s_etat_processus).pile_signal), NULL); free((*s_etat_processus).pile_signal.ss_sp); # endif @@ -2712,12 +2718,13 @@ instruction_detach(struct_processus *s_e clear_history(); + free(s_etat_processus); + # ifdef DEBUG_MEMOIRE - debug_memoire_verification(s_etat_processus); + debug_memoire_verification(); + analyse_post_mortem(); # endif - free(s_etat_processus); - exit(EXIT_SUCCESS); } else