--- rpl/src/instructions_s1.c 2019/02/28 12:40:38 1.105 +++ rpl/src/instructions_s1.c 2019/05/16 12:03:01 1.107 @@ -3372,7 +3372,7 @@ instruction_sto(struct_processus *s_etat ================================================================================ */ -struct +static struct { struct_processus *s_etat_processus; struct_liste_chainee *fd_stdin; @@ -4039,7 +4039,7 @@ instruction_syseval(struct_processus *s_ return; } - while((ios = (int) read_atomic(s_etat_processus, + while((ios = (int) read_atomic_signal(s_etat_processus, pipes_sortie[0], &(tampon[pointeur]), (size_t) longueur_lecture)) > 0) { @@ -4075,6 +4075,18 @@ instruction_syseval(struct_processus *s_ (*s_etat_processus).erreur_systeme = d_es_processus; return; } + + if ((*s_etat_processus).var_volatile_requete_arret == -1) + { + if ((*s_etat_processus).var_volatile_alarme == -1) + { + kill(pid, SIGKILL); + } + else + { + kill(pid, SIGTERM); + } + } } # ifndef SEMAPHORES_NOMMES