voici le code de l'operation Z
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);
}
là n'est pas le bleme.
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
...
printf("blabla1");
Z(GroupeSemaphores,numeroDeLaSemaphore);
printf("blabla2");
...
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!!!!!!??????

je comprend plus rien???