From 7f6118c98e5c7ab7fc9bdbd8e6af981c24cbe675 Mon Sep 17 00:00:00 2001 From: Matt Strapp Date: Sun, 4 Oct 2020 12:39:26 -0500 Subject: Finally fixes #4 --- P1/src/mapreduce.c | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'P1') diff --git a/P1/src/mapreduce.c b/P1/src/mapreduce.c index ed44e9e..9efccf7 100644 --- a/P1/src/mapreduce.c +++ b/P1/src/mapreduce.c @@ -34,7 +34,6 @@ int main(int argc, char *argv[]) { char numMap[10]; sprintf(numMap, "%d", i); execl("./mapper", "./mapper", &numMap, NULL); - exit(0); } } @@ -47,29 +46,29 @@ int main(int argc, char *argv[]) { // ###### DO NOT REMOVE ###### // shuffle sends the word.txt files generated by mapper // to reducer based on a hash function - // pid = fork(); - // if(pid == 0){ - // shuffle(nMappers, nReducers); - // exit(0); - // } - // sleep(1); + pid = fork(); + if(pid == 0){ + shuffle(nMappers, nReducers); + exit(0); + } + sleep(1); - // pid_t reducerPid; - // for (int i = 1; i <= nReducers; i++) { - // reducerPid = fork(); - // if (reducerPid == 0) { - // char numRed[10]; - // sprintf(numRed, "%d", i); - // execl("./reducer", "./reducer", &numRed, NULL); - // } - // } + pid_t reducerPid; + for (int i = 1; i <= nReducers; i++) { + reducerPid = fork(); + if (reducerPid == 0) { + char numRed[10]; + sprintf(numRed, "%d", i); + execl("./reducer", "./reducer", &numRed, NULL); + } + } - // for (int i = 1; i <= nReducers; i++) { - // //Maybe this works too? - // wait(NULL); - // } + for (int i = 0; i <= nReducers; i++) { + //Maybe this works too? + wait(NULL); + } return 0; } \ No newline at end of file -- cgit v1.2.3