--- rpl/src/instructions_s8.c 2019/02/07 21:44:15 1.85 +++ rpl/src/instructions_s8.c 2019/02/09 13:36:41 1.86 @@ -386,13 +386,16 @@ instruction_send(struct_processus *s_eta } # ifndef SEMAPHORES_NOMMES - if (sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) + while(sem_wait(&((*s_etat_processus).semaphore_fork)) != 0) # else - if (sem_wait((*s_etat_processus).semaphore_fork) != 0) + while(sem_wait((*s_etat_processus).semaphore_fork) != 0) # endif { - (*s_etat_processus).erreur_systeme = d_es_processus; - return; + if (errno != EINTR) + { + (*s_etat_processus).erreur_systeme = d_es_processus; + return; + } } } @@ -1562,7 +1565,8 @@ instruction_stop(struct_processus *s_eta if ((*(*((struct_processus_fils *) (*s_objet).objet)).thread).thread_actif == d_vrai) { - envoi_signal_thread((*(*((struct_processus_fils *) + envoi_signal_thread(s_etat_processus, + (*(*((struct_processus_fils *) (*s_objet).objet)).thread).tid, rpl_sigstop); }