#include "libnazgul.h" // verouille le semaphore de la liste int msgSpaceListLock(){ sem_t * spacesListSemFd; msgSpaceListSemId spacesListSemId; /*Ouverture d'un verrou d'un semafore*/ //TODO: remplacer par la bonne valeur d'initialisation du //semaphore spacesListSemFd=sem_open(spacesListSemId,O_CREAT|O_EXCL,0666,1024); if(spacesListSemFd==SEM_FAILED){ NZG_ERROR("sem_open",spacesListSemId); goto ERROR; } /*Pose d'un semaphore et le verrouille*/ if(sem_wait(spacesListSemFd)==-1){ NZG_ERROR("sem_wait",spacesListSemId); goto ERROR; } /* Ferme le semaphore*/ /* if(sem_close(spacesListSemFd)==-1){ NZG_ERROR("sem_close",spacesListSemId); return -1; }*/ sem_close(spacesListSemFd); return 0; ERROR: return -1; } // deverouille le semaphore de la liste int msgSpaceListUnlock(){ sem_t * spacesListSemFd; msgSpaceListSemId spacesListSemId; /*Ouverture dun semaphore*/ spacesListSemFd=sem_open(spacesListSemId,O_CREAT|O_EXCL,0666,1024); if(spacesListSemFd==SEM_FAILED){ NZG_ERROR("sem_open",spacesListSemId); goto ERROR; } /*Relachement du semaphore*/ if(sem_post(spacesListSemFd)==-1){ NZG_ERROR("sem_relache",spacesListSemId); goto ERROR; } /* Ferme le semaphore if(sem_close(spacesListSemFd)==-1){ NZG_ERROR("sem_close",spacesListSemId); return -1; }*/ return 0; ERROR: return -1; };