* fonction pour debloquer le semaphore
This commit is contained in:
parent
6272f135ed
commit
302fbaff09
1 changed files with 15 additions and 13 deletions
|
@ -30,18 +30,18 @@ int msgSpaceListAdd(msgSpaceListElemId );
|
||||||
int msgSpaceListRem(msgSpaceListElemId spaceId);
|
int msgSpaceListRem(msgSpaceListElemId spaceId);
|
||||||
|
|
||||||
char *spaceList;
|
char *spaceList;
|
||||||
|
|
||||||
int msgSpaceListLock(){
|
|
||||||
char *spaceList;
|
|
||||||
/*Pose d'un semafore*/
|
|
||||||
sem_t * sem;
|
sem_t * sem;
|
||||||
|
|
||||||
if((int)sem=sem_open(spaceList,O_CREAT|O_EXCL, 0666,10) ==-1){
|
|
||||||
|
int msgSpaceListLock(){
|
||||||
|
|
||||||
|
/*Ouverture d'un verrou d'un semafore*/
|
||||||
|
if((int)sem=sem_open(spaceList,O_CREAT|O_EXCL, 0666,1024) ==-1){
|
||||||
printf("erreur de semaphore");
|
printf("erreur de semaphore");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*Pose d'un semafore et bloque*/
|
||||||
if(sem_wait(sem)==-1){
|
if(sem_wait(sem)==-1){
|
||||||
printf("erreur pour l'ajout d'un semaphore");
|
printf("erreur pour l'ajout d'un semaphore");
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -50,18 +50,20 @@ int msgSpaceListLock(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*int msgSpaceListUnlock(){
|
int msgSpaceListUnlock(){
|
||||||
Ferme le semaphore
|
/* Ferme le semaphore*/
|
||||||
int semClose;
|
if(sem_close(sem)==-1){
|
||||||
if(semClose=sem_close(spaceList) )==-1{
|
printf("erreur sem_close");
|
||||||
printf("erreur");
|
return -1;
|
||||||
|
}
|
||||||
|
/*semaphore non bloquant*/
|
||||||
|
if (sem_trywait(sem)==-1){
|
||||||
|
printf("erreur sem_trywait");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
};
|
};
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue