Bonjour,
j'ai un programme principal qui crée deux fils, puis execute calcul_1 et calcul_2. Je veux faire en sorte que les 3 processus aient fini leur calcul_1 avant que l'un d'eux ne commence le calcul_2.
En gros je veux faire une barrière de synchronisation avec les signaux SIGUSR.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include <signal.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> int main(int argc, char **argv){ int i = 0; pid_t pid_fils[2]; struct sigaction act; while ((i<2) && (pid_fils[i] = fork()) != 0)) i++; calcul_1(); calcul_2(); printf("fin processus %d \n", i); return EXIT_SUCCESS; }
Partager