*** empty log message ***

This commit is contained in:
glenux 2004-02-22 22:46:09 +00:00 committed by Glenn Y. Rolland
parent e67dcf6970
commit 385c2dbcc7
3 changed files with 45 additions and 35 deletions

View file

@ -8,6 +8,7 @@ typedef enum { true=1, false=0} bool;
typedef char msgSpaceId[MSGSPACE_ID_LEN]; typedef char msgSpaceId[MSGSPACE_ID_LEN];
typedef char msgSpaceListId[4*MSGSPACE_ID_LEN]; typedef char msgSpaceListId[4*MSGSPACE_ID_LEN];
typedef char msgSpaceListSemId[4*MSGSPACE_ID_LEN];
typedef char msgSpaceListElemId[4*MSGSPACE_ID_LEN]; typedef char msgSpaceListElemId[4*MSGSPACE_ID_LEN];
typedef char msgPoolDataTabId[4*MSGSPACE_ID_LEN]; typedef char msgPoolDataTabId[4*MSGSPACE_ID_LEN];

View file

@ -7,27 +7,29 @@
// //
// crée également un sémaphore de gestion de liste // crée également un sémaphore de gestion de liste
// a verouiller avant toute modification // a verouiller avant toute modification
int msgSpaceListInit();
int msgSpaceListInit(){ int msgSpaceListInit(){
int descMemory; int descMemory;
msgSpaceListElemId idList; sem_t * spacesListSemFd;
msgSpaceListSemId spacesListSemId;
msgSpaceListElemId spacesListId;
/*Fait un segment de memoir partager sur espace de listelement*/ /*Fait un segment de memoir partager sur espace de listelement*/
if( (descMemory=shm_open(idList,O_RDWR|O_CREAT|O_EXCL|O_TRUNC,0600))==-1){ descMemory=shm_open(spacesListId,O_RDWR|O_CREAT|O_EXCL|O_TRUNC,0600);
printf("Erreur de shmopen"); if (descMemory == -1){
NZG_ERROR("shm_open",spacesListId);
return -1;
} }
/*Creation de semaphore*/ /*Creation de semaphore*/
sem=sem_open(spaceList,O_CREAT|O_EXCL,0666,1024); spacesListSemFd=sem_open(spacesListSemId,O_CREAT|O_EXCL,0666,1024);
if(sem==SEM_FAILED){ if(spacesListSemFd==SEM_FAILED){
printf("erreur de semaphore"); NZG_ERROR("sem_open",spacesListSemId);
return -1; return -1;
} }
/*Verouille le semaphore*/ /*Verouille le semaphore*/
if(sem_wait(sem)==-1){ if(sem_wait(spacesListSemFd)==-1){
printf("erreur pour l'ajout d'un semaphore"); NZG_ERROR("sem_wait",spacesListSemId);
return -1; return -1;
} }

View file

@ -4,17 +4,21 @@
// verouille le semaphore de la liste // verouille le semaphore de la liste
int msgSpaceListLock(){ int msgSpaceListLock(){
sem_t * spacesListSemFd;
msgSpaceListSemId spacesListSemId;
/*Ouverture d'un verrou d'un semafore*/ /*Ouverture d'un verrou d'un semafore*/
sem=sem_open(spaceList,O_CREAT|O_EXCL,0666,1024); //TODO: remplacer par la bonne valeur d'initialisation du
if(sem==SEM_FAILED){ //semaphore
printf("erreur de semaphore"); spacesListSemFd=sem_open(spacesListSemId,O_CREAT|O_EXCL,0666,1024);
if(spacesListSemFd==SEM_FAILED){
NZG_ERROR("sem_open",spacesListSemId);
return -1; return -1;
} }
/*Pose d'un semafore et bloque*/ /*Pose d'un semafore et bloque*/
if(sem_wait(sem)==-1){ if(sem_wait(spacesListSemFd)==-1){
printf("erreur pour l'ajout d'un semaphore"); NZG_ERROR("sem_wait",spacesListSemId);
return -1; return -1;
} }
return 0; return 0;
@ -24,14 +28,17 @@ int msgSpaceListLock(){
// deverouille le semaphore de la liste // deverouille le semaphore de la liste
int msgSpaceListUnlock(){ int msgSpaceListUnlock(){
sem_t * spacesListSemFd;
msgSpaceListSemId spacesListSemId;
/* Ferme le semaphore*/ /* Ferme le semaphore*/
if(sem_close(sem)==-1){ if(sem_close(spacesListSemFd)==-1){
printf("erreur sem_close"); NZG_ERROR("sem_close",spacesListSemId);
return -1; return -1;
} }
/*semaphore non bloquant*/ /*semaphore non bloquant*/
if (sem_trywait(sem)==-1){ if (sem_trywait(spacesListSemFd)==-1){
printf("erreur sem_trywait"); NZG_ERROR("sem_trywait",spacesListSemId);
return -1; return -1;
} }
return 0; return 0;