40 lines
703 B
C
40 lines
703 B
C
|
#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;
|
||
|
};
|
||
|
|