#include "libnazgul.h" #include "ids.h" int msgPoolDelete(msgSpaceId spaceId, int poolIdx) { msgPoolId poolId; msgBufferInfoTabId bufferInfoTabId; msgPoolSemId poolRessourceSemId; /* suppression des infos sur buffers DEBUT */ if (msgBufferInfoTabIdIntern(bufferInfoTabId, spaceId, poolIdx) == -1) { fprintf(stderr, "msgPoolId creation failed for id %s\n", (char *)poolId); return -1; } if (shm_unlink(bufferInfoTabId) < 0) { fprintf(stderr, "msgInfoTab : %s deletion failed: %s\n", bufferInfoTabId, strerror(errno)); return -1; } /* suppression des infos sur buffers FIN */ /* suppression des buffers DEBUT */ if (msgPoolIdIntern(poolId, spaceId, poolIdx) == -1) { fprintf(stderr, "msgPoolId creation failed for id %s\n", (char *)poolId); return -1; } if (shm_unlink(poolId) < 0) { fprintf(stderr, "msgPool : %s deletion failed: %s\n", poolId, strerror(errno)); return -1; } /* suppression des buffers FIN */ /* suppression de la sémaphore */ if (msgPoolSemIdIntern(poolRessourceSemId, spaceId, poolIdx) == -1) { fprintf(stderr, "msgPoolId creation failed for id %s\n", (char *)poolRessourceSemId); return -1; } // on met un semaphore sur le pool sem_unlink(poolRessourceSemId); //TODO: verrifier les erreurs sur l'ouverture de la sem return 0; }