l3.libnazgul/src/nzg_spaceListInit.c

37 lines
888 B
C
Raw Normal View History

2004-02-22 22:32:15 +00:00
#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<63>e que s'il n'en existe pas deja un.
//
// cr<63>e <20>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;
};