diff options
author | Matt Strapp <strap012@umn.edu> | 2020-10-28 17:46:47 -0500 |
---|---|---|
committer | Matt Strapp <strap012@umn.edu> | 2020-10-28 17:46:47 -0500 |
commit | 989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c (patch) | |
tree | 0a4ca5bbc8477bce4ab934922510c4fddfd125a7 /P2 | |
parent | I broke it again (diff) | |
download | csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.tar csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.tar.gz csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.tar.bz2 csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.tar.lz csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.tar.xz csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.tar.zst csci4061-989c6b2e91a7d304f68f9f5997e7dae0e5f53b6c.zip |
Add closequeue
Diffstat (limited to 'P2')
-rw-r--r-- | P2/include/utils.h | 2 | ||||
-rw-r--r-- | P2/lib/utils.c | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/P2/include/utils.h b/P2/include/utils.h index 050a0e3..6fa4fa8 100644 --- a/P2/include/utils.h +++ b/P2/include/utils.h @@ -23,7 +23,9 @@ struct msgBuffer { }; //Open Queue as a function because writing this once is probably better than four times. //Hopefully it works properly. + int openQueue(); +void closeQueue(); // mapper side int validChar(char c); 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"); |