--- rpl/src/instructions_d5.c 2011/08/09 11:31:32 1.62 +++ rpl/src/instructions_d5.c 2011/08/30 14:19:28 1.63 @@ -814,8 +814,6 @@ instruction_der(struct_processus *s_etat void instruction_detach(struct_processus *s_etat_processus) { - int status; - logical1 drapeau; logical1 variable_partagee; @@ -2455,8 +2453,6 @@ instruction_detach(struct_processus *s_e while((*s_etat_processus).l_base_pile_processus != NULL) { - status = 0; - l_element_courant = (struct_liste_chainee *) (*s_etat_processus).l_base_pile_processus; @@ -2730,6 +2726,17 @@ instruction_detach(struct_processus *s_e 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_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);