--- rpl/src/instructions_a5.c 2013/04/01 15:29:35 1.46 +++ rpl/src/instructions_a5.c 2013/05/23 12:45:08 1.48 @@ -215,7 +215,7 @@ instruction_alarm(struct_processus *s_et s_time_alarme.tm_year = (*s_time_actuel).tm_year; } - s_time_alarme.tm_isdst = 0; + s_time_alarme.tm_isdst = -1; s_time_registre = s_time_alarme; alarme = mktime(&s_time_alarme); @@ -272,6 +272,12 @@ instruction_alarm(struct_processus *s_et scrutation_injection(s_etat_processus); + if (pthread_mutex_lock(&((*s_etat_processus).mutex)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return; + } + if ((*s_etat_processus).nombre_interruptions_non_affectees != 0) { affectation_interruptions_logicielles(s_etat_processus); @@ -282,6 +288,12 @@ instruction_alarm(struct_processus *s_et traitement_interruptions_logicielles(s_etat_processus); } + if (pthread_mutex_unlock(&((*s_etat_processus).mutex)) != 0) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return; + } + gettimeofday(&fin_interruption, NULL); if (fin_interruption.tv_usec < debut_interruption.tv_usec)