*** empty log message ***

This commit is contained in:
glenux 2004-02-22 22:32:15 +00:00 committed by Glenn Y. Rolland
parent dc2be73063
commit e67dcf6970
3 changed files with 75 additions and 78 deletions

View file

@ -1,21 +1,5 @@
#include "libnazgul.h" #include "libnazgul.h"
// fonction pour la creation d'une liste de msgSpace
// cree un shm qui connait l'element de debut de liste
// et l'element de fin de liste.
// il ne se crée que s'il n'en existe pas deja un.
//
// crée également un sémaphore de gestion de liste
// a verouiller avant toute modification
int msgSpaceListInit();
// verouille le semaphore de la liste
int msgSpaceListLock();
// deverouille le semaphore de la liste
int msgSpaceListUnlock();
// cree un nouvel elemen // cree un nouvel elemen
int msgSpaceListElemCreate(msgSpaceListElemId resultName,msgSpaceId spaceId); int msgSpaceListElemCreate(msgSpaceListElemId resultName,msgSpaceId spaceId);
@ -32,72 +16,10 @@ int msgSpaceListRem(msgSpaceListElemId spaceId);
char *spaceList; char *spaceList;
sem_t * sem; sem_t * sem;
int msgSpaceListInit(){
int descMemory;
msgSpaceListElemId idList;
/*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){
printf("Erreur de shmopen");
}
/*Creation de semaphore*/
sem=sem_open(spaceList,O_CREAT|O_EXCL,0666,1024);
if(sem==SEM_FAILED){
printf("erreur de semaphore");
return -1;
}
/*Verouille le semaphore*/
if(sem_wait(sem)==-1){
printf("erreur pour l'ajout d'un semaphore");
return -1;
}
return 0;
};
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;
}
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;
};
// cree un nouvel elemen // cree un nouvel elemen
int msgSpaceListElemCreate(msgSpaceListElemId resultName,msgSpaceId spaceId){ int msgSpaceListElemCreate(msgSpaceListElemId resultName,msgSpaceId spaceId){
return 0; return 0;
}; };

36
src/nzg_spaceListInit.c Normal file
View file

@ -0,0 +1,36 @@
#include "libnazgul.h"
// fonction pour la creation d'une liste de msgSpace
// cree un shm qui connait l'element de debut de liste
// et l'element de fin de liste.
// il ne se crée que s'il n'en existe pas deja un.
//
// crée également un sémaphore de gestion de liste
// a verouiller avant toute modification
int msgSpaceListInit();
int msgSpaceListInit(){
int descMemory;
msgSpaceListElemId idList;
/*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){
printf("Erreur de shmopen");
}
/*Creation de semaphore*/
sem=sem_open(spaceList,O_CREAT|O_EXCL,0666,1024);
if(sem==SEM_FAILED){
printf("erreur de semaphore");
return -1;
}
/*Verouille le semaphore*/
if(sem_wait(sem)==-1){
printf("erreur pour l'ajout d'un semaphore");
return -1;
}
return 0;
};

View file

@ -0,0 +1,39 @@
#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;
};