X-Git-Url: https://git.piment-noir.org/?p=TD_IML.git;a=blobdiff_plain;f=TD1%2Fpart_three%2Flanceur.c;fp=TD1%2Fpart_three%2Flanceur.c;h=df339c0be9467cb6061ac91daaa0fc8094cd880f;hp=40ee7dd50c77dc7060c421928d3919163b5bbdd5;hb=720c45c786b902933b74162b1b05b04ab0be97a2;hpb=ed423898f02aa21d8fe803de851fdfdc9db03a18 diff --git a/TD1/part_three/lanceur.c b/TD1/part_three/lanceur.c index 40ee7dd..df339c0 100644 --- a/TD1/part_three/lanceur.c +++ b/TD1/part_three/lanceur.c @@ -7,11 +7,25 @@ #include int main() { + int child_rt_status = 0; printf("[%d] Je suis le lanceur\n", getpid()); printf("[%d] Je lance la balle\n", getpid()); - execl("/Users/fraggle/src/TD_IML-git/TD1/part_three/balle/balle", "balle"); + pid_t cpid = fork(); + if (cpid < 0) { + perror("fork failure\n"); + exit(EXIT_FAILURE); + } + + if (cpid == 0) { + execl("/home/fraggle/src/TD_IML-git/TD1/part_three/balle/balle", "balle", (char*)NULL); + perror("execl failure\n"); + exit(EXIT_FAILURE); + } else { + wait(&child_rt_status); + printf("[%d] La balle est arrivee apres %d secondes\n", getpid(), WEXITSTATUS(child_rt_status)); + } return EXIT_SUCCESS; }