--- rpl/src/rpl.c 2013/05/23 12:45:08 1.144 +++ rpl/src/rpl.c 2013/05/28 22:09:56 1.145 @@ -265,6 +265,12 @@ rplinit(int argc, char *argv[], char *en pthread_mutexattr_init(&attributs_mutex); pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); + pthread_mutex_init(&((*s_etat_processus).mutex_interruptions), + &attributs_mutex); + pthread_mutexattr_destroy(&attributs_mutex); + + pthread_mutexattr_init(&attributs_mutex); + pthread_mutexattr_settype(&attributs_mutex, PTHREAD_MUTEX_NORMAL); pthread_mutex_init(&((*s_etat_processus).mutex_allocation), &attributs_mutex); pthread_mutexattr_destroy(&attributs_mutex); @@ -5678,6 +5684,9 @@ rplinit(int argc, char *argv[], char *en } } + pthread_mutex_lock(&((*s_etat_processus) + .mutex_interruptions)); + if ((*s_etat_processus) .nombre_interruptions_non_affectees != 0) { @@ -5685,6 +5694,9 @@ rplinit(int argc, char *argv[], char *en s_etat_processus); } + pthread_mutex_unlock(&((*s_etat_processus) + .mutex_interruptions)); + pthread_mutex_unlock(&((*s_etat_processus).mutex)); nanosleep(&attente, NULL); scrutation_interruptions(s_etat_processus);