* ajouté un semaphore de protection du DataTab (et des infos qui en découlent)
* verrouillé le semaphore dans create
This commit is contained in:
parent
c8091765fc
commit
0857256f59
3 changed files with 17 additions and 4 deletions
|
@ -162,7 +162,7 @@ void * msgAllocate(msgSpace *space,
|
|||
/* on acquiert le droit de modifier les infos sur la ressource */
|
||||
|
||||
poolDataTabSemFd=sem_open(space->poolDataTabSemId,O_CREAT,SEM_DEFAULT_MODE,1);
|
||||
|
||||
printf("VOILAAA : %s\n",space->poolDataTabSemId);
|
||||
//sem_wait(poolDataTabSemFd);
|
||||
|
||||
/* on modifie maintenant les données */
|
||||
|
@ -173,7 +173,7 @@ void * msgAllocate(msgSpace *space,
|
|||
// aucun buffer libre ?
|
||||
return NULL;
|
||||
}
|
||||
printf("Buffer %d libre a attacher !\n",bufferFreeIndex);
|
||||
printf("Buffer selected : %d,%d\n",selectedPoolIndex,bufferFreeIndex);
|
||||
/*TODO: mapper le buffer libre dans l'esp addr du proc */
|
||||
//TODO:
|
||||
/* - on s'enregistre aupres de ce buffer */
|
||||
|
|
|
@ -16,7 +16,20 @@ int msgSpaceIdIntern(msgSpaceId dest,const msgSpaceId src ){
|
|||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int msgPoolDataTabSemIdIntern(
|
||||
msgPoolSemId destSemId,
|
||||
const msgSpaceId externId){
|
||||
if (strlen(externId)>MSGSPACE_ID_LEN*4){
|
||||
return -1;
|
||||
}
|
||||
/* sprintf(resNzgId,"/tmp/.nzg-%s",(char *)spaceId); */
|
||||
#ifdef _NZG_REALFILEID
|
||||
sprintf(destSemId,"/tmp/nzgPoolDTSem-%s",(char *)externId);
|
||||
#else
|
||||
sprintf(destSemId,"/nzgPoolDTSem-%s",(char *)externId);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
int msgPoolSemIdIntern(
|
||||
msgPoolSemId destSemId,
|
||||
const msgSpaceId srcPoolId,
|
||||
|
|
|
@ -38,7 +38,7 @@ int msgPoolCreate(
|
|||
}
|
||||
|
||||
// on met un semaphore sur le pool
|
||||
ressourceSemFd = sem_open(poolRessourceSemId, O_CREAT|O_EXCL, 0666, buffNb);
|
||||
ressourceSemFd = sem_open(poolRessourceSemId, O_CREAT|O_EXCL,SEM_DEFAULT_MODE, buffNb);
|
||||
if (ressourceSemFd == SEM_FAILED){
|
||||
NZG_ERROR("sem_open : creation de la ressource",poolRessourceSemId);
|
||||
return -1;
|
||||
|
|
Loading…
Reference in a new issue