--- rpl/src/instructions_d5.c 2010/04/21 13:45:46 1.11 +++ rpl/src/instructions_d5.c 2010/04/27 15:53:36 1.12 @@ -1522,6 +1522,9 @@ instruction_detach(struct_processus *s_e (*s_etat_processus).nombre_interruptions_non_affectees = 0; (*s_etat_processus).processus_detache = d_vrai; + liberation(s_etat_processus, (*s_etat_processus).on_exit); + (*s_etat_processus).on_exit = NULL; + for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++) { liberation(s_etat_processus, @@ -1871,8 +1874,18 @@ instruction_detach(struct_processus *s_e d_ex_erreur_evaluation; } } + else + { + if (evaluation(s_etat_processus, + (*s_etat_processus).on_exit, 'E') == d_erreur) + { + (*s_etat_processus).erreur_execution = + d_ex_erreur_evaluation; + } + } liberation(s_etat_processus, s_copie); + liberation(s_etat_processus, (*s_etat_processus).on_exit); } }