--- rpl/src/instructions_s1.c 2019/02/07 15:47:41 1.98 +++ rpl/src/instructions_s1.c 2019/02/07 21:44:15 1.99 @@ -3688,6 +3688,8 @@ instruction_syseval(struct_processus *s_ fflush(NULL); + verrouillage_threads_concurrents(s_etat_processus); + pid = fork(); if (pid < 0) @@ -3820,6 +3822,8 @@ instruction_syseval(struct_processus *s_ } else { + deverrouillage_threads_concurrents(s_etat_processus); + if (close(pipes_entree[0]) != 0) { (*s_etat_processus).erreur_systeme = d_es_processus; @@ -4203,6 +4207,8 @@ instruction_syseval(struct_processus *s_ liberation(s_etat_processus, s_objet_temporaire); } + free(arguments); + if ((tampon = malloc(sizeof(unsigned char))) == NULL) { (*s_etat_processus).erreur_systeme = d_es_allocation_memoire; @@ -4272,7 +4278,6 @@ instruction_syseval(struct_processus *s_ return; } - free(arguments); free(tampon); } else