--- rpl/src/instructions_w1.c 2010/08/31 09:51:30 1.27 +++ rpl/src/instructions_w1.c 2010/08/31 09:57:43 1.28 @@ -279,18 +279,6 @@ instruction_wait(struct_processus *s_eta code_retour = nanosleep(&temporisation, &temporisation); erreur = errno; - scrutation_injection(s_etat_processus); - - if ((*s_etat_processus).nombre_interruptions_non_affectees != 0) - { - affectation_interruptions_logicielles(s_etat_processus); - } - - if ((*s_etat_processus).nombre_interruptions_en_queue != 0) - { - traitement_interruptions_logicielles(s_etat_processus); - } - # ifndef SEMAPHORES_NOMMES while(sem_wait(&((*s_etat_processus).semaphore_fork)) == -1) # else @@ -303,6 +291,18 @@ instruction_wait(struct_processus *s_eta return; } } + + scrutation_injection(s_etat_processus); + + if ((*s_etat_processus).nombre_interruptions_non_affectees != 0) + { + affectation_interruptions_logicielles(s_etat_processus); + } + + if ((*s_etat_processus).nombre_interruptions_en_queue != 0) + { + traitement_interruptions_logicielles(s_etat_processus); + } } while(((code_retour == -1) && (erreur == EINTR)) && ((*s_etat_processus).var_volatile_requete_arret == 0));