un get qui marche?

This commit is contained in:
stormrider1982 2004-02-25 08:48:23 +00:00
parent 9c89f80423
commit 1ef280444c

View file

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