l3.libnazgul/src/queueOpen.c

30 lines
508 B
C
Raw Normal View History

2004-02-23 20:22:15 +00:00
#include "libnazgul.h"
#include "ids.h"
2019-09-17 12:49:28 +00:00
void * msgQueueOpen(msgQueueId queueId){
2004-02-23 20:22:15 +00:00
int queueFd;
void * queueAddr;
queueFd=shm_open(queueId,O_RDWR,SHM_DEFAULT_MODE);
if (queueFd == -1 ) {
NZG_ERROR("shm_open : msgQueue open",queueId);
goto ERROR;
}
queueAddr=mmap(NULL,
sizeof(msgQueue),
PROT_READ|PROT_WRITE,
MAP_SHARED,
queueFd,
0);
if( queueAddr == MAP_FAILED ) {
NZG_ERROR("mmap",queueId);
goto ERROR;
}
close(queueFd);
return queueAddr;
ERROR:
return NULL;
}