#include "libnazgul.h" int msgQueueElemDelete(msgQueueElemId queueElemId){ msgQueueElem * queueElemAddr; msgQueueElemId nextIdToDie; queueElemAddr = msgQueueElemOpen(queueElemId); strcpy(nextIdToDie,queueElemAddr->id); msgQueueElemClose(queueElemAddr); if (shm_unlink(queueElemId) < 0){ NZG_ERROR("shm_unlink msgQueueElem",queueElemId); goto ERROR; } if (nextIdToDie != queueElemId){ return msgQueueElemDelete(nextIdToDie); } else { return 0; } ERROR: return -1; }