--- rpl/src/gestion_threads.c 2010/04/21 13:45:45 1.9 +++ rpl/src/gestion_threads.c 2010/04/27 15:53:36 1.10 @@ -261,6 +261,19 @@ lancement_thread(void *argument) d_ex_erreur_evaluation; } } + else + { + if (evaluation(s_etat_processus, (*s_etat_processus).on_exit, 'E') + == d_erreur) + { + if (((*s_etat_processus).erreur_execution == d_ex) && + ((*s_etat_processus).erreur_systeme == d_es)) + { + (*s_etat_processus).erreur_execution = + d_ex_erreur_evaluation; + } + } + } if ((*s_argument_thread).destruction_objet == d_vrai) { @@ -991,6 +1004,7 @@ lancement_thread(void *argument) } liberation(s_etat_processus, (*s_argument_thread).argument); + liberation(s_etat_processus, (*s_etat_processus).on_exit); for(i = 0; i < d_NOMBRE_INTERRUPTIONS; i++) {