aboutsummaryrefslogtreecommitdiffstats
path: root/P1/src/mapreduce.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--P1/src/mapreduce.c33
1 files changed, 24 insertions, 9 deletions
diff --git a/P1/src/mapreduce.c b/P1/src/mapreduce.c
index 5b63f3f..ed1f9e5 100644
--- a/P1/src/mapreduce.c
+++ b/P1/src/mapreduce.c
@@ -26,12 +26,19 @@ int main(int argc, char *argv[]) {
sleep(1);
- // To do
- // spawn mappers processes and run 'mapper' executable using exec
+ pid_t mapperPid;
+ for (int i = 0; i < nMappers; i++) {
+ mapperPid = fork();
+ if (mapperPid != 0) {
+ //TODO: exec here
+ }
+ }
- // To do
- // wait for all children to complete execution
-
+ for (int i = 0; i < nMappers; i++) {
+ //Hopefully this works
+ wait(NULL);
+ }
+
// ###### DO NOT REMOVE ######
// shuffle sends the word.txt files generated by mapper
@@ -44,11 +51,19 @@ int main(int argc, char *argv[]) {
sleep(1);
- // To do
- // spawn reducer processes and run 'reducer' executable using exec
- // To do
- // wait for all children to complete execution
+ pid_t reducerPid;
+ for (int i = 0; i < nReducers; i++) {
+ reducerPid = fork();
+ if (reducerPid != 0) {
+ //TODO: exec here
+ }
+ }
+
+ for (int i = 0; i < nReducers; i++) {
+ //Maybe this works too?
+ wait(NULL);
+ }
return 0;
} \ No newline at end of file