From 665cb90dd6f76be04fb37b6745526b0f52f10ccb Mon Sep 17 00:00:00 2001 From: "Glenn Y. Rolland" Date: Tue, 17 Sep 2019 14:16:29 +0200 Subject: [PATCH] Add pool allocate (squash) --- src/nzg_iface.h | 4 ++-- src/nzg_pool.c | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/nzg_iface.h b/src/nzg_iface.h index aeba9c3..33fff99 100644 --- a/src/nzg_iface.h +++ b/src/nzg_iface.h @@ -32,7 +32,7 @@ typedef struct MsgSpace { msgSpaceId id; int poolNb; int queueNb; - int pid; + int pid; msgSpacePoolDataId poolDataId; } msgSpace; @@ -42,7 +42,7 @@ typedef struct MsgSpace { typedef struct MsgSpaceListElem { void * id; int ownerPid; - msgSpaceListElemId next; + msgSpaceListElemId next; } * msgSpaceList, msgSpaceListElem; diff --git a/src/nzg_pool.c b/src/nzg_pool.c index 6bf5dd6..af0fc8e 100644 --- a/src/nzg_pool.c +++ b/src/nzg_pool.c @@ -55,3 +55,26 @@ int msgSpacePoolId2nzgPoolId(msgSpacePoolId dest,msgSpacePoolId src, int num){ // //donne l'adr en mappant in the memory //poolAddr = mmap(NULL, sizeof(*msgPool), PROT_NONE, MAP_SHARED, poolFd, 0); +msgPool * msgPoolAllocate(int poolFd, msgSpace *msg) { + msgPool * poolAddr; + int dataId; + //msgSpacePoolData spoolData; + + //dataId = msg->poolDataId; + + //spoolData[dataId]; + + //donne l'adr en mappant in the memory + poolAddr = mmap(NULL, sizeof(*msgPool), PROT_NONE, MAP_SHARED, poolFd, 0); + if(poolAddr == MAP_FAILED) { + fprintf( stderr, "mmap failed: %s\n", + strerror( errno ) ); + return NULL; + } + + + // on renvoie le pointeur sur le bon pool + return poolAddr; +} + +