diff options
author | Matt Strapp <strap012@umn.edu> | 2020-10-27 13:46:41 -0500 |
---|---|---|
committer | Matt Strapp <strap012@umn.edu> | 2020-10-27 13:46:41 -0500 |
commit | 9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f (patch) | |
tree | bcf2344c5736814cae3b859286f3bba9e7b3c08b /P2 | |
parent | Don't close queue too soon (diff) | |
download | csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.tar csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.tar.gz csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.tar.bz2 csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.tar.lz csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.tar.xz csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.tar.zst csci4061-9c2225bdf2ba7413bccf12646c5c24ae8fb93d5f.zip |
Bad workaround to add `ftok()`
Probably doesn't work
Diffstat (limited to 'P2')
-rw-r--r-- | P2/lib/utils.c | 22 | ||||
-rw-r--r-- | P2/src/mapreduce.c | 2 |
2 files changed, 12 insertions, 12 deletions
diff --git a/P2/lib/utils.c b/P2/lib/utils.c index 1a291bd..3fd82f3 100644 --- a/P2/lib/utils.c +++ b/P2/lib/utils.c @@ -1,13 +1,14 @@ #include "utils.h" + char *getChunkData(int mapperID) { //Message struct msgBuffer message; //Queue ID, not sure what it actually does int mid; - //Queue Key - key_t key = 10; - mid = msgget(key, 0666 | IPC_CREAT); + //Queue Key, because globals bad + key_t Qkey = ftok("4061 Project 2 SS", 'S'); + mid = msgget(Qkey, 0666 | IPC_CREAT); if (mid < 0) { perror("Cannot open queue.\n"); return NULL; @@ -23,11 +24,12 @@ char *getChunkData(int mapperID) { // sends chunks of size 1024 to the mappers in RR fashion void sendChunkData(char *inputFile, int nMappers) { struct msgBuffer message; - key_t key = 10; int msgid; - + //Hopefully this works + //TODO: Make sure this value matches the other Qkey + key_t Qkey = ftok("4061 Project 2 SS", 'S'); // open message queue - msgid = msgget(key, 0666 | IPC_CREAT); + msgid = msgget(Qkey, 0666 | IPC_CREAT); if (msgid < 0) { perror("Cannot open queue.\n"); exit(-1); @@ -43,7 +45,7 @@ void sendChunkData(char *inputFile, int nMappers) { else cut off before that word and put back file */ // TODO! help - msgsnd(msgid, &message, mapperID, 0); + msgsnd(msgid, &message, 11, 0); } for (long i = 1; i < nMappers; i++) { @@ -58,17 +60,17 @@ void sendChunkData(char *inputFile, int nMappers) { // hash function to divide the list of word.txt files across reducers //http://www.cse.yorku.ca/~oz/hash.html -int hashFunction(char* key, int reducers){ +int hashFunction(char* Qkey, int reducers){ unsigned long hash = 0; int c; - while ((c = *key++)!='\0') + while ((c = *Qkey++)!='\0') hash = c + (hash << 6) + (hash << 16) - hash; return (hash % reducers); } -int getInterData(char *key, int reducerID) { +int getInterData(char *Qkey, int reducerID) { } void shuffle(int nMappers, int nReducers) { diff --git a/P2/src/mapreduce.c b/P2/src/mapreduce.c index c44adb6..962a9ca 100644 --- a/P2/src/mapreduce.c +++ b/P2/src/mapreduce.c @@ -42,9 +42,7 @@ int main(int argc, char *argv[]) { printf("ERROR: Mapper and Reducer count should be grater than zero...\n"); exit(0); } - char *inputFile = argv[3]; - bookeepingCode(); int status; |