semop

Prototypes

int semop(int NumeroSemaphore, struct sembuf *Buffer, int NbJetons);

Description

Synchronise le thread sur le sémaphore NumeroSemaphore en suspendant le thread au besoin en prélevant ou en ajoutantNbJetons jetons.

Au besoin, le thread est momentanément suspendu ou un thread en attente est réveillé.

Exemple

#include <stdio.h>
#include <sem.h>

struct sembuf Buffer;
short NumeroSemaphore;

Buffer.sem_num=1;
Buffer.sem_op=-1;
Buffer.sem_flg=0;
if (semop((int)NumeroSemaphore, &Buffer, -1)==-1) ...
Buffer.sem_num=1;
Buffer.sem_op=1;
Buffer.sem_flg=0;
if (semop((int)NumeroSemaphore, &Buffer, 1)==-1) ...

Avertissement

Bien s'assurer que le numéro du sémaphore NumeroSemaphore est valide.

Le résultat est -1 si l'opération n'a pu être effectuée.

Voir aussi

semget pour créer ou retrouver un sémaphore.