version 1.32, 2011/01/03 12:08:03
|
version 1.46, 2011/09/14 14:34:28
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.20 |
RPL/2 (R) version 4.1.3 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 57 surveillance_processus(void *argument)
|
Line 57 surveillance_processus(void *argument)
|
|
|
pthread_t tid_candidat; |
pthread_t tid_candidat; |
|
|
sigset_t masque; |
|
|
|
ssize_t longueur_ecriture; |
ssize_t longueur_ecriture; |
|
|
struct_descripteur_thread *s_argument_thread; |
struct_descripteur_thread *s_argument_thread; |
Line 75 surveillance_processus(void *argument)
|
Line 73 surveillance_processus(void *argument)
|
unsigned int tampon_erreur_execution; |
unsigned int tampon_erreur_execution; |
unsigned int tampon_erreur_systeme; |
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_argument_thread = argument; |
s_etat_processus = (*s_argument_thread).s_etat_processus; |
s_etat_processus = (*s_argument_thread).s_etat_processus; |
|
|
Line 344 surveillance_processus(void *argument)
|
Line 332 surveillance_processus(void *argument)
|
d_es_processus; |
d_es_processus; |
} |
} |
|
|
pthread_kill((*s_argument_thread).thread_pere, |
envoi_signal_thread((*s_argument_thread).thread_pere, |
SIGINJECT); |
rpl_siginject); |
} |
} |
} |
} |
else |
else |
Line 530 surveillance_processus(void *argument)
|
Line 518 surveillance_processus(void *argument)
|
d_es_processus; |
d_es_processus; |
} |
} |
|
|
pthread_kill((*s_argument_thread).thread_pere, |
envoi_signal_thread((*s_argument_thread).thread_pere, |
SIGINJECT); |
rpl_siginject); |
} |
} |
} |
} |
else |
else |
Line 926 surveillance_processus(void *argument)
|
Line 914 surveillance_processus(void *argument)
|
d_es_processus; |
d_es_processus; |
} |
} |
|
|
pthread_kill((*s_argument_thread).thread_pere, |
envoi_signal_thread((*s_argument_thread).thread_pere, |
SIGINJECT); |
rpl_siginject); |
} |
} |
} |
} |
else |
else |
Line 3419 scrutation_injection(struct_processus *s
|
Line 3407 scrutation_injection(struct_processus *s
|
|
|
// Si on est dans le processus père, il n'y a rien à surveiller. |
// 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) |
if ((*s_etat_processus).var_volatile_processus_racine == 0) |
{ |
{ |
FD_ZERO(&ensemble_descripteurs); |
FD_ZERO(&ensemble_descripteurs); |