l3.libnazgul/test/put_get_multi.c

56 lines
1.2 KiB
C

#ifdef _NZG_HPUX
#include <sys/wait.h>
#else
#include <wait.h>
#endif
#include "libnazgul.h"
int main(void) {
// msgSpace mS=0;
msgSpaceId testId;
msgSpace * mSPAC;
msgPool poolInfos[3];
char * montext;
poolInfos[0].bufferNb=4;
poolInfos[0].bufferSize=200;
poolInfos[1].bufferNb=5;
poolInfos[1].bufferSize=250;
sprintf(testId,"test%d",(int)getuid());
printf("RequestedId: %s\n",testId);
printf("Void size: %d\n",(int)sizeof(void));
//creation de l'espace de messages
mSPAC=msgSpaceCreate(testId,1,2,poolInfos);
if (mSPAC ==NULL) {
NZG_ERROR("msgSpaceCreate",testId);
exit(0);
}
printf("CREATION ------------------ ok\n");
pid_t pid=fork();
if (pid==0){
sleep(2);
mSPAC=msgSpaceOpen(testId);
montext=msgAllocate(mSPAC,1,280,0);
*montext=42;
printf("### test Valeur0 %d ###\n",(int)*montext);
printf("Put1..."); fflush(stdout);
msgPut(mSPAC,0,montext);
printf("put1-ok\n");
} else {
mSPAC=msgSpaceOpen(testId);
printf("Get..."); fflush(stdout);
montext=msgGet(mSPAC,0,0);
printf("get-ok\n");
printf("### test Reception %d ###\n",(int)*montext);
msgFree(mSPAC,montext);
wait(NULL);
msgSpaceDelete(testId);
}
return 0;
}