*fonction msgListLock
This commit is contained in:
parent
6e55ca4e6d
commit
6272f135ed
1 changed files with 72 additions and 25 deletions
|
@ -29,39 +29,86 @@ int msgSpaceListElemLinkNext(msgSpaceListElemId current,msgSpaceListElemId next)
|
|||
int msgSpaceListAdd(msgSpaceListElemId );
|
||||
int msgSpaceListRem(msgSpaceListElemId spaceId);
|
||||
|
||||
char *spaceList;
|
||||
|
||||
void *add(char * idAncien, char *idNouveau);
|
||||
int descMemory;
|
||||
int msgSpaceListLock(){
|
||||
char *spaceList;
|
||||
/*Pose d'un semafore*/
|
||||
sem_t * sem;
|
||||
|
||||
void * add(char * idAncien, char *idNouveau){
|
||||
descMemory=shm_open("/titi",
|
||||
O_RDWR|O_CREAT|O_EXCL|O_TRUNC,
|
||||
0600);
|
||||
|
||||
if (descMemory== -1){
|
||||
printf("erreur de sh_open\n");
|
||||
return NULL;
|
||||
};
|
||||
|
||||
if (ftruncate(descMemory,1024)== -1 ){
|
||||
printf("erreur ftruncate");
|
||||
if((int)sem=sem_open(spaceList,O_CREAT|O_EXCL, 0666,10) ==-1){
|
||||
printf("erreur de semaphore");
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* memory= mmap(0, 1024,
|
||||
PROT_READ | PROT_WRITE,
|
||||
|
||||
|
||||
MAP_SHARED, mSFd, 0)*/
|
||||
|
||||
/* if( Strcpy(idAncien, idNouveau) ==-1){
|
||||
printf("erreur de strcpy");
|
||||
};*/
|
||||
|
||||
strcpy(idAncien, idNouveau);
|
||||
return NULL;
|
||||
if(sem_wait(sem)==-1){
|
||||
printf("erreur pour l'ajout d'un semaphore");
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
/*int msgSpaceListUnlock(){
|
||||
Ferme le semaphore
|
||||
int semClose;
|
||||
if(semClose=sem_close(spaceList) )==-1{
|
||||
printf("erreur");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*void *add(char * idAncien, char *idNouveau);
|
||||
int descMemory;
|
||||
|
||||
void * add(char * idAncien, char *idNouveau){
|
||||
descMemory=shm_open("/titi",
|
||||
O_RDWR|O_CREAT|O_EXCL|O_TRUNC,
|
||||
0600);
|
||||
|
||||
if (descMemory== -1){
|
||||
printf("erreur de sh_open\n");
|
||||
return NULL;
|
||||
};
|
||||
|
||||
if (ftruncate(descMemory,1024)== -1 ){
|
||||
printf("erreur ftruncate");
|
||||
}
|
||||
|
||||
memory= mmap(0, 1024,
|
||||
PROT_READ | PROT_WRITE,
|
||||
|
||||
|
||||
MAP_SHARED, mSFd, 0)*/
|
||||
/*typedef struct MsgSpaceListElem {
|
||||
void * id;
|
||||
int ownerPid;
|
||||
msgSpaceListElemId next;
|
||||
} * msgSpaceList, msgSpaceListElem;
|
||||
|
||||
msgSpaceListElemId *mslist;
|
||||
|
||||
if( Strcpy(idAncien, idNouveau) ==-1){
|
||||
printf("erreur de strcpy");
|
||||
};
|
||||
|
||||
strcpy(idAncien, idNouveau);
|
||||
return NULL;
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue