- Fixed a race condition in the reference solution that happened
during the creation of a new job. The race existed between (1) the
parent adding a new job to the job list and (2) the receipt of a
SIGINT or SIGTSTP signal. The fix is to block SIGINT and SIGTSTP
signals in the parent until after the new job has been added to the
job list. A similar race was already properly handled for SIGCHLD
- Also made some minor changes to the reference solution:
- Added a new trace file (trace16.txt) that tests the shell's
ability to handle SIGINT and SIGTSTP signals that do not originate
from the terminal.
- Fixed bug in tracefile src/trace10.txt,
which told the driver to sleep too long before running the fg command.
- Removed assumptions in src/Makefile and grade/Makefile that the user had a "." in their Unix path.