l3.libnazgul/src/nzg_spaceListLocking.c

40 lines
703 B
C
Raw Normal View History

2004-02-22 22:32:15 +00:00
#include "libnazgul.h"
// verouille le semaphore de la liste
int msgSpaceListLock(){
/*Ouverture d'un verrou d'un semafore*/
sem=sem_open(spaceList,O_CREAT|O_EXCL,0666,1024);
if(sem==SEM_FAILED){
printf("erreur de semaphore");
return -1;
}
/*Pose d'un semafore et bloque*/
if(sem_wait(sem)==-1){
printf("erreur pour l'ajout d'un semaphore");
return -1;
}
return 0;
}
// deverouille le semaphore de la liste
int msgSpaceListUnlock(){
/* Ferme le semaphore*/
if(sem_close(sem)==-1){
printf("erreur sem_close");
return -1;
}
/*semaphore non bloquant*/
if (sem_trywait(sem)==-1){
printf("erreur sem_trywait");
return -1;
}
return 0;
};