--- rpl/src/gestion_processus.c 2010/07/31 10:34:17 1.22 +++ rpl/src/gestion_processus.c 2010/09/02 07:51:48 1.27 @@ -1,6 +1,6 @@ /* ================================================================================ - RPL/2 (R) version 4.0.18 + RPL/2 (R) version 4.0.19 Copyright (C) 1989-2010 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -925,6 +925,9 @@ surveillance_processus(void *argument) (*s_etat_processus).erreur_systeme_processus_fils = d_es_processus; } + + pthread_kill((*s_argument_thread).thread_pere, + SIGINJECT); } } else @@ -1839,6 +1842,7 @@ surveillance_processus(void *argument) } pthread_exit(NULL); + return(NULL); } @@ -3396,12 +3400,15 @@ lecture_pipe(struct_processus *s_etat_pr ================================================================================ */ -extern inline void +#ifndef OS2 +extern inline +#endif +void scrutation_injection(struct_processus *s_etat_processus) { fd_set ensemble_descripteurs; -# ifndef OpenBSD +# if !defined(OpenBSD) && !defined(OS2) struct timespec timeout; # else struct timeval timeout; @@ -3415,13 +3422,13 @@ scrutation_injection(struct_processus *s // Si on est dans le processus père, il n'y a rien à surveiller. - if ((*s_etat_processus).var_volatile_processus_pere == 0) + if ((*s_etat_processus).var_volatile_processus_racine == 0) { FD_ZERO(&ensemble_descripteurs); FD_SET((*s_etat_processus).pipe_nombre_injections, &ensemble_descripteurs); -# ifndef OpenBSD +# if !defined(OpenBSD) && !defined(OS2) timeout.tv_sec = 0; timeout.tv_nsec = 0;