Etudes/Deuxieme annee/bonhommeFork.c

62 lines
1.9 KiB
C

#include <stdio.h>
#include <stdlib.h>
//Les variables testFourchetteX correspondent aux fourchette de séparation d'un processus.
int main()
{
int testFourchette1, testFourchette2, testFourchette3, testFourchette4, testFourchette5, testFourchette6;
testFourchette1 = fork();
if(testFourchette1 == 0) //Je suis P3, l'enfant de P1
{
boite("Boite 3");
testFourchette2 = fork();
if(testFourchette2 == 0) //Je suis P2, l'enfant de P3
{
boite("Boite 2");
}
else //Je suis P3
{
testFourchette3 = fork();
if(testFourchette3 == 0) //Je suis P4, l'enfant de P3
{
boite("Boite 4");
}
else //Je suis P3, l'enfant de P1
{
testFourchette4 = fork();
if(testFourchette4 == 0) //Je suis P5, l'enfant de P3
{
boite("Boite 5");
testFourchette5 = fork();
if(testFourchette5 == 0) //Je suis P6, l'enfant de P5
{
boite("Boite 6");
}
else //Je suis P5, l'enfant de P3
{
testFourchette6 = fork();
if(testFourchette6 == 0) //Je suis P7, l'enfant de P5
{
boite("Boite 7");
}
else //Je suis P5, l'enfant de P3
{
boite("Boite 5");
}
}
}
else //Je suis P3, l'enfant de P1
{
boite("Boite 3");
}
}
}
}
else //Je suis P1
{
boite("Boite 1");
}
return EXIT_SUCCESS;
}