#include "libnazgul.h" #include "nzg_ids.h" int msgBufferInfoTabCreate( msgSpaceId externId, msgPoolData * poolDataTabAddr, int poolIdx, int bufferNb) { int bufferInfoTabFd; msgBufferInfoTabId bufferInfoTabId; /* creation des infos sur buffers DEBUT */ if (msgBufferInfoTabIdIntern(bufferInfoTabId,externId,poolIdx) == -1){ NZG_ERROR("msgPoolId creation",bufferInfoTabId); return -1; } bufferInfoTabFd=shm_open(bufferInfoTabId,O_RDWR|O_CREAT|O_EXCL|O_TRUNC,MSGSPACE_DEFAULT_MODE); if (bufferInfoTabFd == -1 ) { fprintf( stderr, "msgInfoTab : %s creation failed: %s\n",bufferInfoTabId, strerror( errno ) ); return -1; } if (ftruncate(bufferInfoTabFd, bufferNb*sizeof(msgBufferInfo)) == -1){ fprintf( stderr, "msgBufferInfoTab resizing failed: %s\n", strerror( errno ) ); return -1; } close(bufferInfoTabFd); /* creation des infos sur buffers FIN */ msgBufferInfoTabInit(poolDataTabAddr,poolIdx); return -1;NZG_ERROR("munmap",bufferInfoTabId); return -1; }