un get qui marche?
This commit is contained in:
parent
f382aaa84c
commit
ea9781fbd7
1 changed files with 17 additions and 4 deletions
17
src/get.c
17
src/get.c
|
@ -7,7 +7,9 @@ void * msgGet(msgSpace * space,int queueIndex,int option){
|
|||
msgQueueId queueId;
|
||||
msgQueue * queue;
|
||||
msgQueueElemId oldElemId;
|
||||
msgQueueElem * oldElem;
|
||||
msgQueueElem * oldElem;
|
||||
int poolIndex;
|
||||
|
||||
// on teste la possibilité de lecture sur la liste...
|
||||
if (option == NONBLOCK){
|
||||
if (msgQueueReadTryLock(space->externId,queueIndex) <0){
|
||||
|
@ -30,7 +32,8 @@ void * msgGet(msgSpace * space,int queueIndex,int option){
|
|||
// recupérer l'id de l'ancien element...
|
||||
msgQueueRem(queue, oldElemId);
|
||||
|
||||
oldElem = msgQueueElemOpen(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