CS 3733 Operating Systems, Fall 2004 Assignment 4 Comments
General Comments:
- This assignment was graded on a basis of 30 points.
- You still must pay attention to your lint warnings.
- Part 4 was worth 5 points.
- In the third test, sleepandechobad is called.
This has a non-zero return value.
After the next wait_for_completion_fd, your mymake should terminate.
You lost 4 points if you executed the line containing:
     Now this should not print
- If you were having trouble with running mymakefile5 with an
error about grep:
- If you were able to fix this, please tell me what you did to fix it.
- If you were not able to fix it, please see about about trying to find
out what was wrong.
There have been reports that you can fix the problem by reverting
to the default .cshrc file.
If you can fix it you can get the points that you lost on this part of
the assignment.
Answers to questions:
- Each pipecompiler waits for the child process to complete before
reading again from the pipe, so each pipecompiler can execute at
most one command at a time, independent of the number of CPU.
This problem could be solved by having the pipecompiler fork an
extra child to wait for its child to complete and write back to the
reply pipe.
- The reply pipe is only emptied when mymake receives a blank line.
Even under normal operation, if the makefile does not end with a blank line
the reply pipe will not be emptied.