*** empty log message ***

This commit is contained in:
glenux 2004-02-24 11:15:06 +00:00
parent 1e021b0ebf
commit 235ef96f1a
3 changed files with 16 additions and 16 deletions

View file

@ -22,7 +22,6 @@ void * msgAllocate(msgSpace *space,
float semPoolCoef[space->poolNb];
int idxPoolOptimum;
bool gotRessourceSem;
sem_t * poolDataTabSemFd;
msgPoolDataTabSemId ressourceSemId;
sem_t * ressourceSemFd;
int ressourceSemVal;
@ -163,25 +162,19 @@ void * msgAllocate(msgSpace *space,
printf("Passed %s\n",ressourceSemId);
}
/* on a acqui un semaphore pour la ressouce */
/* on acquiert le droit de modifier les infos sur la ressource */
/* on protege le tableau des associations */
poolDataTabSemFd=sem_open(space->poolDataTabSemId,
O_CREAT,SEM_DEFAULT_MODE,1);
if (poolDataTabSemFd == SEM_FAILED){
NZG_ERROR("sem_open : ouverture de la ressource",
space->poolDataTabSemId);
return NULL;
}
sem_wait(poolDataTabSemFd);
msgPoolDataTabLock(space);
/* on modifie maintenant les données */
/* - on récupere l'index du premier buffer libre */
bufferFreeIndex = msgBufferGetFreeIndex(mSPoolDataTabAddr,selectedPoolIndex);
if (bufferFreeIndex < 0){
sem_close(poolDataTabSemFd);
// aucun buffer libre ?
return NULL;
NZG_ERROR("msgBufferGetFreeIndex","");
goto ERROR;
}
printf("Buffer selected : %d,%d\n",selectedPoolIndex,bufferFreeIndex);
/* mapper le buffer libre dans l'esp addr du proc */
@ -220,8 +213,7 @@ void * msgAllocate(msgSpace *space,
resultAddr);
close(mSPoolFd);
sem_post(poolDataTabSemFd);
sem_close(poolDataTabSemFd);
msgPoolDataTabUnlock(space);
/* unmapper le msgPoolDataTab */
munmap(mSPoolDataTabAddr,(space->poolNb) * sizeof( msgPoolData ));
@ -229,8 +221,7 @@ void * msgAllocate(msgSpace *space,
return resultAddr;
ERROR:
NZG_ERROR("msgAllocate","error processing");
sem_post(poolDataTabSemFd);
sem_close(poolDataTabSemFd);
msgPoolDataTabUnlock(space);
munmap(mSPoolDataTabAddr,(space->poolNb) * sizeof( msgPoolData ));
return NULL;
}

View file

@ -32,7 +32,16 @@ void * msgGet(msgSpace * space,int queueIndex,int option){
oldElem = msgQueueElemOpen(oldElemId);
/* on récupere la taille des buffer dans la pool du buffer */
int bufferSize;
msgPoolData * poolDataTab;
poolDataTab=msgPoolDataTabOpen(space);
bufferSize=poolDataTab[oldElem->poolIndex].bufferSize;
msgPoolDataTabClose(space,poolDataTab);
// mapper le buffer dans l'espace mémoire du processus
// attacher au buffer...
// fermer la file

View file

@ -40,7 +40,7 @@ int msgPut(msgSpace * space,int queueIndex, void * addr){
msgQueueElemClose(queueElem);
//ajouter le message a la bonne file...
msgQueueElemAdd(queue,newElemId);
msgQueueAdd(queue,newElemId);
// fermer la file
msgQueueClose(queue);