un get qui marche?
This commit is contained in:
parent
9c89f80423
commit
1ef280444c
1 changed files with 17 additions and 4 deletions
13
src/get.c
13
src/get.c
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue