Move problem 1-2 (join) into project 2 as the "wait" system call.
authorBen Pfaff <blp@cs.stanford.edu>
Thu, 31 Mar 2005 04:58:27 +0000 (04:58 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Thu, 31 Mar 2005 04:58:27 +0000 (04:58 +0000)
commit2cfc156c39840ce7f1cda6b473de1322691a8a0b
tree74ec8c2c5a73b2aad2abd87ca21a99f6b698e6ee
parent63bae7d91cfdc5d6f73b52702ecb6dcca515496c
Move problem 1-2 (join) into project 2 as the "wait" system call.
Update the documentation, solutions, grading scripts, and regression
tests.

In execute_thread(), rephrase the code slightly.
Move process_activate() call from execute_thread() to load() to remove
potential race condition that students and TAs found confusing.
Add memory barrier in process_exit().
80 files changed:
doc/doc.texi
doc/mlfqs.texi
doc/standards.texi
doc/threads.texi
doc/tour.texi
doc/userprog.texi
grading/filesys/fslib.c
grading/filesys/fslib.h
grading/filesys/syn-read.c
grading/filesys/syn-read.exp
grading/filesys/syn-rw.c
grading/filesys/syn-write.c
grading/filesys/syn-write.exp
grading/threads/join-dummy.c [deleted file]
grading/threads/join-dummy.exp [deleted file]
grading/threads/join-invalid.c [deleted file]
grading/threads/join-multiple.c [deleted file]
grading/threads/join-nested.c [deleted file]
grading/threads/join-nested.exp [deleted file]
grading/threads/join-no.c [deleted file]
grading/threads/join-quick.c [deleted file]
grading/threads/join-quick.exp [deleted file]
grading/threads/join-simple.c [deleted file]
grading/threads/join-simple.exp [deleted file]
grading/threads/review.txt
grading/threads/run-tests
grading/threads/tests.txt
grading/userprog/.cvsignore
grading/userprog/Make.base
grading/userprog/Make.tests
grading/userprog/Makefile
grading/userprog/exec-arg.c
grading/userprog/exec-multiple.c
grading/userprog/exec-once.c
grading/userprog/join-bad-pid.c [deleted file]
grading/userprog/join-bad-pid.exp [deleted file]
grading/userprog/join-killed.c [deleted file]
grading/userprog/join-killed.exp [deleted file]
grading/userprog/join-simple.c [deleted file]
grading/userprog/join-simple.exp [deleted file]
grading/userprog/join-twice.c [deleted file]
grading/userprog/join-twice.exp [deleted file]
grading/userprog/multi-child-fd.c
grading/userprog/multi-child-fd.exp
grading/userprog/multi-oom.c
grading/userprog/multi-parent-fd.c
grading/userprog/multi-recurse.c
grading/userprog/prep-disk
grading/userprog/review.txt
grading/userprog/run-tests
grading/userprog/tests.txt
grading/userprog/wait-bad-pid.c [new file with mode: 0644]
grading/userprog/wait-bad-pid.exp [new file with mode: 0644]
grading/userprog/wait-killed.c [new file with mode: 0644]
grading/userprog/wait-killed.exp [new file with mode: 0644]
grading/userprog/wait-simple.c [new file with mode: 0644]
grading/userprog/wait-simple.exp [new file with mode: 0644]
grading/userprog/wait-twice.c [new file with mode: 0644]
grading/userprog/wait-twice.exp [new file with mode: 0644]
grading/vm/mmap-exit.c
grading/vm/page-merge-par.c
grading/vm/page-merge-seq.c
grading/vm/page-parallel.c
grading/vm/page-parallel.exp
grading/vm/posix-compat.c
grading/vm/posix-compat.h
src/lib/syscall-nr.h
src/lib/user/syscall.c
src/lib/user/syscall.h
src/tests/threads/p1-2.c
src/tests/threads/p1-3.c
src/tests/threads/p1-4.c [deleted file]
src/tests/userprog/recursor.c
src/tests/userprog/shell.c
src/threads/init.c
src/threads/thread.c
src/threads/thread.h
src/userprog/process.c
src/userprog/process.h
tests/Makefile