--- rpl/src/analyse.c 2013/05/22 09:05:20 1.86 +++ rpl/src/analyse.c 2013/05/28 22:09:55 1.88 @@ -1159,9 +1159,23 @@ analyse(struct_processus *s_etat_process { if ((*s_etat_processus).test_instruction == 'N') { - if ((*s_etat_processus).nombre_interruptions_non_affectees != 0) + if (pthread_mutex_lock(&(*s_etat_processus).mutex_interruptions) + != 0) { - affectation_interruptions_logicielles(s_etat_processus); + (*s_etat_processus).erreur_systeme = d_es_processus; + } + else + { + if ((*s_etat_processus).nombre_interruptions_non_affectees != 0) + { + affectation_interruptions_logicielles(s_etat_processus); + } + + if (pthread_mutex_unlock(&(*s_etat_processus) + .mutex_interruptions) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + } } if (((*s_etat_processus).nombre_interruptions_en_queue != 0) &&