Je ne comprend pas la déférence entre l'utilisation de wait() dans ces deux codes :
Je sait que wait() dois etre exécuter par le pére pour attendre son fils.
Pourquoi dans le 1er code il y'a un IF qui teste s'il est dans le fils ou non alors dans le 2éme il n'ya pas ce test.
Merci pour votre aide.
Code 1 :
Code : Tout sélectionner
int main(){
int result1,result2,result3;
result1 = fork();
if(result1 == 0){
result2 = fork();
if(result2 == 0){
result3 = fork();
if(result3 >0)
wait(NULL);
}
else
wait(NULL);
}
else
wait(NULL);
}
Code : Tout sélectionner
int main() {
int result1, result2, result3;
result1 = fork();
result2 = fork();
result3 = fork();
if (result3) wait(NULL);
if (result2) wait(NULL);
if (result1) wait(NULL);
}