aboutsummaryrefslogtreecommitdiffstats
path: root/P1/src
diff options
context:
space:
mode:
Diffstat (limited to 'P1/src')
-rw-r--r--P1/src/mapreduce.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/P1/src/mapreduce.c b/P1/src/mapreduce.c
index 50ca5ca..ed44e9e 100644
--- a/P1/src/mapreduce.c
+++ b/P1/src/mapreduce.c
@@ -27,13 +27,14 @@ int main(int argc, char *argv[]) {
pid_t mapperPid;
- for (int i = 1; i < nMappers; i++) {
+ for (int i = 1; i <= nMappers; i++) {
mapperPid = fork();
- if (mapperPid > 0) {
+ if (mapperPid == 0) {
//TODO: exec here
- char num[10];
- sprintf(num, "%d", i);
- execl("./mapper", "./mapper", &num, NULL);
+ char numMap[10];
+ sprintf(numMap, "%d", i);
+ execl("./mapper", "./mapper", &numMap, NULL);
+ exit(0);
}
}
@@ -46,30 +47,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 = 0; i < nReducers; i++) {
- reducerPid = fork();
- if (reducerPid > 0) {
- //TODO: exec here
- char num[10];
- sprintf(num, "%d", i);
- execl("./reducer", "./reducer", &num, 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 = 0; i <= nReducers; i++) {
- //Maybe this works too?
- wait(NULL);
- }
+ // for (int i = 1; i <= nReducers; i++) {
+ // //Maybe this works too?
+ // wait(NULL);
+ // }
return 0;
} \ No newline at end of file