voici le code de l'operation Z
là n'est pas le bleme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void Z(int semid,int num) { struct sembuf op ; op.sem_num = num; op.sem_op = 0 ; op.sem_flg = 0 ; semop(semid,&op,1); }
pour sincroniser des processus, je doit utilisé l'operation Z qui attend que la valeur de la semaphore soit egale à 0.
le probleme c'est que si je fait par exemple
et bien, si la semaphore est égal (initialement à 0) il passe à blabla2 sinon, il attend certe, mais quand la semaphore passe à 0 rien ne se passe!!!!!!??????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... printf("blabla1"); Z(GroupeSemaphores,numeroDeLaSemaphore); printf("blabla2"); ...
je comprend plus rien???
Partager