bonsoir,
un processus père crée trois fils : thermomètre , baromètre , voltmètre
aprés un délai de garde de 5 sec , un signal est envoyé , la procedure "reveil" se déclenche pour réveiller les trois fils qui effectue un prélèvement :
Code:
1
2
3
4
5
6
7
8 reveil() { kill(pidTher ,SIGUSR1); kill(pidBaro ,SIGUSR1); kill(pidVolt ,SIGUSR1); }
exemple de création de fils :Code:
1
2
3
4
5
6
7
8 //********************************* le handler du fils thermomètre int handTherm() printf (" je suis le fils Thermomètre %d mon père : %d \n" , getpid() , getppid()); exit(20+random()%30); //*******************************************************************
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Thermomètre = fork(); if (Thermomètre == -1) { perror ("erreur de création de Thermomètre"); exit(-1); } else if (Thermomètre==0) // éxécution du fils Thermomètre { signal (SIGUSR1, handTherm); pidTher = Thermomètre; pause(); }
je ne sais pas si c'est comme ça qu'on réveille les fils !!!!Code:
1
2
3 signal(SIGALRM,reveil); alarm(5000);
est ce la bonne synchronisation ??
merci d'avance pour vos réponses
