--- rpl/src/interruptions.c 2012/12/19 09:58:27 1.113 +++ rpl/src/interruptions.c 2013/02/26 19:56:17 1.117 @@ -1,7 +1,7 @@ /* ================================================================================ RPL/2 (R) version 4.1.12 - Copyright (C) 1989-2012 Dr. BERTRAND Joël + Copyright (C) 1989-2013 Dr. BERTRAND Joël This file is part of RPL/2. @@ -81,6 +81,11 @@ thread_surveillance_signaux(void *argume volatile struct_liste_chainee_volatile *l_element_courant; + sigset_t set; + + sigfillset(&set); + pthread_sigmask(SIG_BLOCK, &set, NULL); + s_etat_processus = (struct_processus *) argument; for(;;) @@ -94,17 +99,17 @@ thread_surveillance_signaux(void *argume if (sem_wait(semaphore_signalisation) == 0) # endif { - if ((*s_queue_signaux).requete_arret == d_vrai) - { - break; - } - # if (!defined(SEMAPHORES_NOMMES)) || defined(IPCS_SYSV) sem_post(&(*s_queue_signaux).signalisation); # else sem_post(semaphore_signalisation); # endif + if ((*s_queue_signaux).requete_arret == d_vrai) + { + break; + } + nombre_signaux_envoyes = 0; sched_yield();