*** empty log message ***

This commit is contained in:
glenux 2004-02-23 16:22:44 +00:00 committed by Glenn Y. Rolland
parent a1c27d5b98
commit 7dcf1382fc
3 changed files with 25 additions and 14 deletions

View file

@ -183,19 +183,24 @@ void * msgAllocate(msgSpace *space,
return NULL; return NULL;
} }
printf("Buffer selected : %d,%d\n",selectedPoolIndex,bufferFreeIndex); printf("Buffer selected : %d,%d\n",selectedPoolIndex,bufferFreeIndex);
/* mapper le buffer libre dans l'esp addr du proc */ /* mapper le buffer libre dans l'esp addr du proc */
strcpy(resultPoolId,mSPoolDataTabAddr[selectedPoolIndex].poolId); strcpy(resultPoolId,mSPoolDataTabAddr[selectedPoolIndex].poolId);
mSPoolFd=shm_open(resultPoolId,O_RDWR,MSGSPACE_DEFAULT_MODE); mSPoolFd=shm_open(resultPoolId,O_RDWR,MSGSPACE_DEFAULT_MODE);
int bufferFreeSize;
int bufferFreeSize=mSPoolDataTabAddr[selectedPoolIndex].bufferSize; bufferFreeSize=mSPoolDataTabAddr[selectedPoolIndex].bufferSize;
resultAddr = mmap( 0, printf("BufferSize : %d", bufferFreeSize);
bufferFreeSize, resultAddr = mmap( NULL,
bufferFreeSize,
PROT_READ | PROT_WRITE, PROT_READ | PROT_WRITE,
MAP_SHARED, mSPoolFd, bufferFreeSize*bufferFreeIndex ); MAP_SHARED, mSPoolFd,
(off_t)0); // bufferFreeSize*bufferFreeIndex );
if( resultAddr == MAP_FAILED) {
NZG_ERROR("resultAddr mmap","");
goto ERROR;
}
//TODO: //TODO:
/* - on s'enregistre aupres de ce buffer */ /* - on s'enregistre aupres de ce buffer */
@ -209,7 +214,13 @@ void * msgAllocate(msgSpace *space,
sem_close(poolDataTabSemFd); sem_close(poolDataTabSemFd);
/* unmapper le msgPoolDataTab */ /* unmapper le msgPoolDataTab */
munmap(mSPoolDataTabAddr,(space->poolNb) * sizeof( msgPoolData )); munmap(mSPoolDataTabAddr,(space->poolNb) * sizeof( msgPoolData ));
printf( "alloc de 0x%08x\n", (int)resultAddr);
return resultAddr; return resultAddr;
ERROR:
NZG_ERROR("msgAllocate","error processing");
sem_post(poolDataTabSemFd);
sem_close(poolDataTabSemFd);
munmap(mSPoolDataTabAddr,(space->poolNb) * sizeof( msgPoolData ));
return NULL;
} }

View file

@ -1,6 +1,7 @@
#include "libnazgul.h" #include "libnazgul.h"
int msgFree(msgSpace * space, void * addr){ int msgFree(msgSpace * space, void * addr){
printf("Freeee de :0x%08x\n",(int)addr);
int poolIndex; int poolIndex;
int bufferIndex; int bufferIndex;
@ -20,8 +21,6 @@ sem_t * poolDataTabSemFd;
} }
sem_wait(poolDataTabSemFd); sem_wait(poolDataTabSemFd);
/* verifier le premier arg du shm_open */ /* verifier le premier arg du shm_open */
poolDataTabFd=shm_open(space->poolDataTabId, poolDataTabFd=shm_open(space->poolDataTabId,
@ -35,7 +34,7 @@ sem_t * poolDataTabSemFd;
} }
poolDataTabAddr = mmap( 0, (space->poolNb) * sizeof( msgPoolData ), poolDataTabAddr = mmap( NULL, (space->poolNb) * sizeof( msgPoolData ),
PROT_READ | PROT_WRITE, PROT_READ | PROT_WRITE,
MAP_SHARED, poolDataTabFd, 0 ); MAP_SHARED, poolDataTabFd, 0 );
@ -49,6 +48,7 @@ sem_t * poolDataTabSemFd;
// TODO: verouiller semaphore DataInfo // TODO: verouiller semaphore DataInfo
int err; int err;
printf("FREE-SEMWAIT\n");
err=msgBufferGetProcAttach( err=msgBufferGetProcAttach(
poolDataTabAddr, poolDataTabAddr,
space->poolNb, space->poolNb,
@ -81,6 +81,6 @@ sem_t * poolDataTabSemFd;
//sem_open ressource //sem_open ressource
//sem_post //sem_post
//sem_close //sem_close
return -1; return 0;
} }

View file

@ -15,7 +15,7 @@ int main(void) {
poolInfos[1].bufferNb=5; poolInfos[1].bufferNb=5;
poolInfos[1].bufferSize=250; poolInfos[1].bufferSize=250;
poolInfos[2].bufferNb=6; poolInfos[2].bufferNb=5;
poolInfos[2].bufferSize=280; poolInfos[2].bufferSize=280;
strcpy(testId,"test"); strcpy(testId,"test");
@ -43,7 +43,7 @@ int main(void) {
montext=msgAllocate(mSPAC,2,270,0); montext=msgAllocate(mSPAC,2,270,0);
sleep(2); sleep(2);
montext=msgAllocate(mSPAC,2,270,0); montext=msgAllocate(mSPAC,2,270,0);
//msgFree(mSPAC,(void *)montext); msgFree(mSPAC,(void *)montext);
//msgFree(mSPAC,(void *)montext); //msgFree(mSPAC,(void *)montext);
//msgFree(mSPAC,(void *)montext); //msgFree(mSPAC,(void *)montext);
wait(NULL); wait(NULL);