--- rpl/src/gestion_processus.c 2011/06/27 09:04:55 1.41 +++ rpl/src/gestion_processus.c 2011/09/26 15:57:11 1.47 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.1.0 + RPL/2 (R) version 4.1.4 Copyright (C) 1989-2011 Dr. BERTRAND Joël This file is part of RPL/2. @@ -57,8 +57,6 @@ surveillance_processus(void *argument) pthread_t tid_candidat; - sigset_t masque; - ssize_t longueur_ecriture; struct_descripteur_thread *s_argument_thread; @@ -75,16 +73,6 @@ surveillance_processus(void *argument) unsigned int tampon_erreur_execution; unsigned int tampon_erreur_systeme; - sigemptyset(&masque); - sigaddset(&masque, SIGINJECT); - sigaddset(&masque, SIGFSTOP); - sigaddset(&masque, SIGFABORT); - sigaddset(&masque, SIGURG); - sigaddset(&masque, SIGALRM); - sigaddset(&masque, SIGCONT); - sigaddset(&masque, SIGINT); - pthread_sigmask(SIG_BLOCK, &masque, NULL); - s_argument_thread = argument; s_etat_processus = (*s_argument_thread).s_etat_processus; @@ -344,8 +332,8 @@ surveillance_processus(void *argument) d_es_processus; } - pthread_kill((*s_argument_thread).thread_pere, - SIGINJECT); + envoi_signal_thread((*s_argument_thread).thread_pere, + rpl_siginject); } } else @@ -530,8 +518,8 @@ surveillance_processus(void *argument) d_es_processus; } - pthread_kill((*s_argument_thread).thread_pere, - SIGINJECT); + envoi_signal_thread((*s_argument_thread).thread_pere, + rpl_siginject); } } else @@ -926,8 +914,8 @@ surveillance_processus(void *argument) d_es_processus; } - pthread_kill((*s_argument_thread).thread_pere, - SIGINJECT); + envoi_signal_thread((*s_argument_thread).thread_pere, + rpl_siginject); } } else @@ -3419,6 +3407,8 @@ scrutation_injection(struct_processus *s // Si on est dans le processus père, il n'y a rien à surveiller. + scrutation_interruptions(s_etat_processus); + if ((*s_etat_processus).var_volatile_processus_racine == 0) { FD_ZERO(&ensemble_descripteurs);