Ajout erreur si fork échoue

This commit is contained in:
rick 2021-02-21 11:53:43 +01:00
parent e132428129
commit 64a3e1b1ca
Signed by: Rick
GPG key ID: 2B593F087240EE99
2 changed files with 8 additions and 1 deletions

View file

@ -21,7 +21,8 @@
* @message: message à afficher pour + dinfos ou erreur non implémentée * @message: message à afficher pour + dinfos ou erreur non implémentée
* *
* 1 erreur lors de la création des pipes * 1 erreur lors de la création des pipes
* 2 chemin inexistant (pour cd) * 2 chemin inexistant
* 3 erreur lors du fork
*/ */
void error(int code, int type, char *message) void error(int code, int type, char *message)
{ {
@ -33,6 +34,9 @@ void error(int code, int type, char *message)
case 2: case 2:
printf("Chemin inexistant.\n"); printf("Chemin inexistant.\n");
break; break;
case 3:
printf("Le fork a échoué, le processus enfant a été avorté.\n");
break;
default: default:
if (message == NULL) if (message == NULL)

View file

@ -49,6 +49,9 @@ int main()
if (!native_command(args)) /* si la commande demandée nest pas native */ if (!native_command(args)) /* si la commande demandée nest pas native */
{ {
pid = fork(); pid = fork();
if (pid < 0)
error(3, FATAL_ERROR, NULL);
if (!pid) /* le fils */ if (!pid) /* le fils */
{ {
if (commands[index+1] == NULL) if (commands[index+1] == NULL)