*** empty log message ***
This commit is contained in:
parent
52e7fa02fc
commit
a96c647b0b
2 changed files with 20 additions and 33 deletions
21
src/free.c
21
src/free.c
|
@ -6,25 +6,20 @@ int msgFree(msgSpace * space, void * addr){
|
||||||
int poolIndex;
|
int poolIndex;
|
||||||
int bufferIndex;
|
int bufferIndex;
|
||||||
msgPoolData * poolDataTabAddr;
|
msgPoolData * poolDataTabAddr;
|
||||||
sem_t * poolDataTabSemFd;
|
|
||||||
msgPoolDataTabSemId ressourceSemId;
|
|
||||||
sem_t * ressourceSemFd;
|
sem_t * ressourceSemFd;
|
||||||
/* on acquiert le droit de modifier les infos sur la ressource */
|
msgPoolDataTabSemId ressourceSemId;
|
||||||
|
/* on acquiert le droit de modifier les infos sur la ressource */
|
||||||
/* on protege le tableau des associations */
|
/* on protege le tableau des associations */
|
||||||
poolDataTabSemFd=sem_open(space->poolDataTabSemId,
|
if (msgPoolDataTabLock(space) <0){
|
||||||
O_CREAT,SEM_DEFAULT_MODE,1);
|
NZG_ERROR("msgPoolDataTabLock",space->poolDataTabSemId);
|
||||||
if (poolDataTabSemFd == SEM_FAILED){
|
goto ERROR;
|
||||||
NZG_ERROR("sem_open : ouverture de la ressource",
|
};
|
||||||
space->poolDataTabSemId);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
sem_wait(poolDataTabSemFd);
|
|
||||||
|
|
||||||
/* verifier le premier arg du shm_open */
|
/* verifier le premier arg du shm_open */
|
||||||
|
|
||||||
poolDataTabAddr = msgPoolDataTabOpen(space);
|
poolDataTabAddr = msgPoolDataTabOpen(space);
|
||||||
|
|
||||||
// TODO: verouiller semaphore DataInfo
|
// TODO: verouiller semaphore DataInfo ??
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
poolIndex=-1; bufferIndex=-1;
|
poolIndex=-1; bufferIndex=-1;
|
||||||
|
@ -51,8 +46,6 @@ sem_t * poolDataTabSemFd;
|
||||||
|
|
||||||
// deverouiller semaphore DataInfo
|
// deverouiller semaphore DataInfo
|
||||||
msgPoolDataTabUnlock(space);
|
msgPoolDataTabUnlock(space);
|
||||||
// sem_post(poolDataTabSemFd);
|
|
||||||
// sem_close(poolDataTabSemFd);
|
|
||||||
|
|
||||||
// deverouiller semaphore ressource.
|
// deverouiller semaphore ressource.
|
||||||
msgPoolSemIdIntern(ressourceSemId,space->id,poolIndex);
|
msgPoolSemIdIntern(ressourceSemId,space->id,poolIndex);
|
||||||
|
|
|
@ -26,24 +26,18 @@ int main(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("CREATION ------------------ ok\n");
|
printf("CREATION ------------------ ok\n");
|
||||||
sleep(1);
|
|
||||||
pid_t pid=fork();
|
|
||||||
|
|
||||||
if (pid ==0){
|
mSPAC=msgSpaceOpen(testId);
|
||||||
mSPAC=msgSpaceOpen(testId);
|
montext=msgAllocate(mSPAC,2,280,0);
|
||||||
sleep(2);
|
*montext=42;
|
||||||
printf("Get..."); fflush(stdout);
|
printf("### test Valeur0 %d ###\n",(int)*montext);
|
||||||
montext=msgGet(mSPAC,0,0);
|
printf("Put..."); fflush(stdout);
|
||||||
printf("get-ok\n");
|
msgPut(mSPAC,0,montext);
|
||||||
} else {
|
printf("put-ok\n");
|
||||||
mSPAC=msgSpaceOpen(testId);
|
|
||||||
montext=msgAllocate(mSPAC,2,280,0);
|
|
||||||
*montext=42;
|
printf("Get..."); fflush(stdout);
|
||||||
printf("### test Valeur0 %d ###\n",(int)*montext);
|
montext=msgGet(mSPAC,0,0);
|
||||||
printf("Put..."); fflush(stdout);
|
printf("get-ok\n");
|
||||||
msgPut(mSPAC,0,montext);
|
|
||||||
printf("put-ok\n");
|
|
||||||
//sleep(2);
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue