*corection de la fonction msgSpaceListUnlock
This commit is contained in:
parent
1007ca56c6
commit
a1c27d5b98
1 changed files with 48 additions and 30 deletions
|
@ -4,43 +4,61 @@
|
|||
// verouille le semaphore de la liste
|
||||
|
||||
int msgSpaceListLock(){
|
||||
sem_t * spacesListSemFd;
|
||||
msgSpaceListSemId spacesListSemId;
|
||||
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);
|
||||
return -1;
|
||||
}
|
||||
/*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);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*Pose d'un semafore et bloque*/
|
||||
if(sem_wait(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_wait",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
/*Pose d'un semaphore et le verrouille*/
|
||||
if(sem_wait(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_wait",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Ferme le semaphore*/
|
||||
if(sem_close(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_close",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// deverouille le semaphore de la liste
|
||||
int msgSpaceListUnlock(){
|
||||
sem_t * spacesListSemFd;
|
||||
msgSpaceListSemId spacesListSemId;
|
||||
|
||||
/* Ferme le semaphore*/
|
||||
if(sem_close(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_close",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
/*semaphore non bloquant*/
|
||||
if (sem_trywait(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_trywait",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
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);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/*Relachement du semaphore*/
|
||||
if(sem_post(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_relache",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/* Ferme le semaphore*/
|
||||
if(sem_close(spacesListSemFd)==-1){
|
||||
NZG_ERROR("sem_close",spacesListSemId);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue