--- rpl/src/gestion_processus.c 2016/03/01 22:12:28 1.82 +++ rpl/src/gestion_processus.c 2016/03/15 16:31:14 1.83 @@ -2997,16 +2997,10 @@ lecture_pipe(struct_processus *s_etat_pr void scrutation_injection(struct_processus *s_etat_processus) { - fd_set ensemble_descripteurs; - logical1 drapeau_erreur; logical1 registre_arret_si_exception; -# ifdef PSELECT - struct timespec timeout; -# else - struct timeval timeout; -# endif + struct pollfd fds; unsigned char tampon; unsigned char tampon_profilage[20]; @@ -3017,23 +3011,11 @@ scrutation_injection(struct_processus *s if ((*s_etat_processus).var_volatile_processus_racine == 0) { - FD_ZERO(&ensemble_descripteurs); - FD_SET((*s_etat_processus).pipe_nombre_injections, - &ensemble_descripteurs); - -# ifdef PSELECT - 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 + fds.fd = (*s_etat_processus).pipe_nombre_injections; + fds.events = POLLIN; + fds.revents = 0; + + if (poll(&fds, 1, 0) > 0) { if (read_atomic(s_etat_processus, (*s_etat_processus).pipe_nombre_injections,