version 1.82, 2016/03/01 22:12:28
|
version 1.83, 2016/03/15 16:31:14
|
Line 2997 lecture_pipe(struct_processus *s_etat_pr
|
Line 2997 lecture_pipe(struct_processus *s_etat_pr
|
void |
void |
scrutation_injection(struct_processus *s_etat_processus) |
scrutation_injection(struct_processus *s_etat_processus) |
{ |
{ |
fd_set ensemble_descripteurs; |
|
|
|
logical1 drapeau_erreur; |
logical1 drapeau_erreur; |
logical1 registre_arret_si_exception; |
logical1 registre_arret_si_exception; |
|
|
# ifdef PSELECT |
struct pollfd fds; |
struct timespec timeout; |
|
# else |
|
struct timeval timeout; |
|
# endif |
|
|
|
unsigned char tampon; |
unsigned char tampon; |
unsigned char tampon_profilage[20]; |
unsigned char tampon_profilage[20]; |
Line 3017 scrutation_injection(struct_processus *s
|
Line 3011 scrutation_injection(struct_processus *s
|
|
|
if ((*s_etat_processus).var_volatile_processus_racine == 0) |
if ((*s_etat_processus).var_volatile_processus_racine == 0) |
{ |
{ |
FD_ZERO(&ensemble_descripteurs); |
fds.fd = (*s_etat_processus).pipe_nombre_injections; |
FD_SET((*s_etat_processus).pipe_nombre_injections, |
fds.events = POLLIN; |
&ensemble_descripteurs); |
fds.revents = 0; |
|
|
# ifdef PSELECT |
if (poll(&fds, 1, 0) > 0) |
timeout.tv_sec = 0; |
|
timeout.tv_nsec = 0; |
|
|
|
if (pselect((*s_etat_processus).pipe_nombre_injections + 1, |
|
&ensemble_descripteurs, NULL, NULL, &timeout, NULL) > 0) |
|
# else |
|
timeout.tv_sec = 0; |
|
timeout.tv_usec = 0; |
|
|
|
if (select((*s_etat_processus).pipe_nombre_injections + 1, |
|
&ensemble_descripteurs, NULL, NULL, &timeout) > 0) |
|
# endif |
|
{ |
{ |
if (read_atomic(s_etat_processus, |
if (read_atomic(s_etat_processus, |
(*s_etat_processus).pipe_nombre_injections, |
(*s_etat_processus).pipe_nombre_injections, |