un get qui marche?

This commit is contained in:
stormrider1982 2004-02-25 08:48:23 +00:00 committed by Glenn Y. Rolland
parent f382aaa84c
commit ea9781fbd7

View file

@ -8,6 +8,8 @@ void * msgGet(msgSpace * space,int queueIndex,int option){
msgQueue * queue; msgQueue * queue;
msgQueueElemId oldElemId; msgQueueElemId oldElemId;
msgQueueElem * oldElem; msgQueueElem * oldElem;
int poolIndex;
// on teste la possibilité de lecture sur la liste... // on teste la possibilité de lecture sur la liste...
if (option == NONBLOCK){ if (option == NONBLOCK){
if (msgQueueReadTryLock(space->externId,queueIndex) <0){ if (msgQueueReadTryLock(space->externId,queueIndex) <0){
@ -31,6 +33,7 @@ void * msgGet(msgSpace * space,int queueIndex,int option){
msgQueueRem(queue, oldElemId); msgQueueRem(queue, oldElemId);
oldElem = msgQueueElemOpen(oldElemId); oldElem = msgQueueElemOpen(oldElemId);
poolIndex=oldElem->poolIndex;
/* on récupere la taille des buffer dans la pool du buffer */ /* on récupere la taille des buffer dans la pool du buffer */
int bufferSize; int bufferSize;
@ -48,8 +51,18 @@ void * msgGet(msgSpace * space,int queueIndex,int option){
*/ */
/* TODO: ecrire msgBufferMap(space,poolIndex,bufferIndex) */ /* TODO: ecrire msgBufferMap(space,poolIndex,bufferIndex) */
resultAddr = msgBufferMap(poolDataTab, poolIndex, 0);
if(resultAddr == NULL) {
NZG_ERROR("BufferMap", poolDataTab->poolId);
goto ERROR;
}
// attacher au buffer... // attacher au buffer...
msgBufferAttachProc(poolDataTab,
poolIndex,
0, // c le buff en tete de file....
resultAddr);
// fermer la file // fermer la file
msgQueueClose(queue); msgQueueClose(queue);