Ajout erreur si fork échoue
This commit is contained in:
parent
e132428129
commit
64a3e1b1ca
2 changed files with 8 additions and 1 deletions
|
@ -21,7 +21,8 @@
|
||||||
* @message: message à afficher pour + d’infos ou erreur non implémentée
|
* @message: message à afficher pour + d’infos 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)
|
||||||
|
|
|
@ -49,6 +49,9 @@ int main()
|
||||||
if (!native_command(args)) /* si la commande demandée n’est pas native */
|
if (!native_command(args)) /* si la commande demandée n’est 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)
|
||||||
|
|
Loading…
Reference in a new issue