--- rpl/src/gestion_threads.c 2011/06/22 13:26:58 1.40 +++ rpl/src/gestion_threads.c 2011/08/30 14:19:28 1.47 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.0.prerelease.3 + RPL/2 (R) version 4.1.3 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -916,6 +916,17 @@ lancement_thread(void *argument) l_element_courant = l_element_suivant; } + l_element_courant = (*s_etat_processus).l_base_pile_undo; + while(l_element_courant != NULL) + { + l_element_suivant = (*l_element_courant).suivant; + + liberation(s_etat_processus, (*l_element_courant).donnee); + free(l_element_courant); + + l_element_courant = l_element_suivant; + } + l_element_courant = (*s_etat_processus).l_base_pile_contextes; while(l_element_courant != NULL) { @@ -1070,6 +1081,7 @@ lancement_thread(void *argument) sem_destroy(&((*s_etat_processus).semaphore_fork)); + liberation_contexte_cas(s_etat_processus); free((*s_etat_processus).localisation); free(s_etat_processus);