diff --git a/src/get.c b/src/get.c index 4881aec..5e07175 100644 --- a/src/get.c +++ b/src/get.c @@ -7,9 +7,7 @@ void * msgGet(msgSpace * space,int queueIndex,int option){ msgQueueId queueId; msgQueue * queue; msgQueueElemId oldElemId; - msgQueueElem * oldElem; - int poolIndex; - + msgQueueElem * oldElem; // on teste la possibilité de lecture sur la liste... if (option == NONBLOCK){ if (msgQueueReadTryLock(space->externId,queueIndex) <0){ @@ -32,38 +30,18 @@ void * msgGet(msgSpace * space,int queueIndex,int option){ // recupérer l'id de l'ancien element... msgQueueRem(queue, oldElemId); - oldElem = msgQueueElemOpen(oldElemId); - poolIndex=oldElem->poolIndex; - - /* 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 -/* resultAddr = mmap( NULL, - bufferSize, - PROT_NONE, //prot PROT_READ | PROT_WRITE - MAP_SHARED, mSPoolFd, - (off_t)0); - bufferNb=mSPoolDataTabAddr[selectedPoolIndex].bufferNb; -*/ - /* TODO: ecrire msgBufferMap(space,poolIndex,bufferIndex) */ - - resultAddr = msgBufferMap(poolDataTab, poolIndex, 0); - if(resultAddr == NULL) { - NZG_ERROR("BufferMap", poolDataTab->poolId); - goto ERROR; - } + oldElem = msgQueueElemOpen(oldElemId); + + /* on récupere la taille des buffer dans la pool du buffer */ + int bufferSize; + msgPoolData * poolDataTab; + poolDataTab=msgPoolDataTabOpen(space); + // mapper le buffer dans l'espace mémoire du processus + resultAddr=msgBufferMap(poolDataTab,oldElem->poolIndex,oldElem->bufferIndex); + msgPoolDataTabClose(space,poolDataTab); + + // attacher au buffer... - - // attacher au buffer... - msgBufferAttachProc(poolDataTab, - poolIndex, - 0, // c le buff en tete de file.... - resultAddr); - // fermer la file msgQueueClose(queue);