version 1.104, 2019/02/17 09:09:53
|
version 1.105, 2019/02/28 12:40:38
|
Line 3849 instruction_syseval(struct_processus *s_
|
Line 3849 instruction_syseval(struct_processus *s_
|
if (close(pipes_entree[1]) != 0) |
if (close(pipes_entree[1]) != 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
printf("%d\n",__LINE__); |
} |
} |
|
|
if (close(pipes_sortie[0]) != 0) |
if (close(pipes_sortie[0]) != 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
printf("%d\n",__LINE__); |
} |
} |
|
|
if (close(pipes_erreur[0]) != 0) |
if (close(pipes_erreur[0]) != 0) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
printf("%d\n",__LINE__); |
} |
} |
|
|
if (pipes_entree[0] != STDIN_FILENO) |
if (pipes_entree[0] != STDIN_FILENO) |
Line 3869 instruction_syseval(struct_processus *s_
|
Line 3869 instruction_syseval(struct_processus *s_
|
if (dup2(pipes_entree[0], STDIN_FILENO) == -1) |
if (dup2(pipes_entree[0], STDIN_FILENO) == -1) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
printf("%d\n",__LINE__); |
} |
} |
} |
} |
|
|
Line 3878 instruction_syseval(struct_processus *s_
|
Line 3878 instruction_syseval(struct_processus *s_
|
if (dup2(pipes_sortie[1], STDOUT_FILENO) == -1) |
if (dup2(pipes_sortie[1], STDOUT_FILENO) == -1) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
printf("%d\n",__LINE__); |
} |
} |
} |
} |
|
|
Line 3887 instruction_syseval(struct_processus *s_
|
Line 3887 instruction_syseval(struct_processus *s_
|
if (dup2(pipes_sortie[1], STDERR_FILENO) == -1) |
if (dup2(pipes_sortie[1], STDERR_FILENO) == -1) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_processus; |
(*s_etat_processus).erreur_systeme = d_es_processus; |
return; |
printf("%d\n",__LINE__); |
} |
} |
} |
} |
|
|
if (nombre_arguments != 0) |
if ((nombre_arguments != 0) && ((*s_etat_processus).erreur_systeme |
|
== d_es)) |
{ |
{ |
execvp(arguments[0], arguments); |
execvp(arguments[0], arguments); |
} |
} |
else |
|
{ |
|
exit(EXIT_SUCCESS); |
|
} |
|
|
|
/* |
/* |
* L'appel système execvp() a généré une erreur et n'a pu exécuter |
* L'appel système execvp() a généré une erreur et n'a pu exécuter |
Line 3927 instruction_syseval(struct_processus *s_
|
Line 3924 instruction_syseval(struct_processus *s_
|
write_atomic(s_etat_processus, pipes_erreur[1], " ", 1); |
write_atomic(s_etat_processus, pipes_erreur[1], " ", 1); |
close(pipes_erreur[1]); |
close(pipes_erreur[1]); |
|
|
|
if ((*s_etat_processus).langue == 'F') |
|
{ |
|
printf("+++Système : erreurinterne dans SYSEVAL [%d]\n", |
|
(int) getpid()); |
|
} |
|
else |
|
{ |
|
printf("+++System : SYSEVAL internal error [%d]\n", |
|
(int) getpid()); |
|
} |
|
|
exit(EXIT_SUCCESS); |
exit(EXIT_SUCCESS); |
} |
} |
else |
else |