X-Git-Url: https://git.piment-noir.org/?p=TD_IML.git;a=blobdiff_plain;f=TD1%2Fpart_two%2Fexo.c;h=2f5e419062f7be8cdbbb37bc8ab14e23916da617;hp=0194d04e47ec22387c9aaa95ce3c5a13079de811;hb=39734ccae6323a4279011f81ed8d64c2e8ac1756;hpb=bb3dd2915f58fa911e2d5df37bc2d2327c5c8430 diff --git a/TD1/part_two/exo.c b/TD1/part_two/exo.c index 0194d04..2f5e419 100644 --- a/TD1/part_two/exo.c +++ b/TD1/part_two/exo.c @@ -1,11 +1,11 @@ -#include -#include - #include #include #include #include +#include +#include + void show_proc_pids() { pid_t current_pid = getpid(); pid_t parent_pid = getppid(); @@ -33,26 +33,22 @@ int main() { } else if (cpid == 0) { printf("Fils:\n"); show_proc_pids(); - const char* msg = "Coucou papa !"; + const char* str_fmt = "[%d] Coucou papa !\n"; close(pipefd[0]); - write(pipefd[1], msg, strlen(msg)); + write(pipefd[1], str_fmt, strlen(str_fmt)); close(pipefd[1]); exit(EXIT_SUCCESS); } else { printf("Parent:\n"); show_proc_pids(); close(pipefd[1]); - - while (read(pipefd[0], &buf, 1) > 0) { - write(STDOUT_FILENO, &buf, 1); - } - - write(STDOUT_FILENO, "\n", 1); + read(pipefd[0], &buf, 20*sizeof(buf)); + printf(&buf, getpid()); close(pipefd[0]); wait(NULL); exit(EXIT_SUCCESS); } - + /* unreachable code */ return EXIT_SUCCESS; }