diff options
Diffstat (limited to 'P2/lib')
-rw-r--r-- | P2/lib/utils.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/P2/lib/utils.c b/P2/lib/utils.c index ede4931..8c27f4c 100644 --- a/P2/lib/utils.c +++ b/P2/lib/utils.c @@ -2,13 +2,20 @@ int openQueue() { int id = msgget(ftok("4061 Project 2 SS", 'S'), 0666 | IPC_CREAT); - if (id < 0) - { + if (id < 0) { perror("Cannot open queue.\n"); return -1; - }; + } return id; } +void closeQueue() { + int msgid = msgget(ftok("4061 Project 2 SS", 'S'), 0666); + if (msgid < 0) { + perror("Cannot open queue. It may already exist.\n"); + exit(-1); + } + msgctl(msgid, IPC_RMID, NULL); +} char *getChunkData(int mapperID) { printf("GETTING CHUNK DATA\n"); |