X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fthreads.texi;h=33600393977ff6b6f743f4124875eb00be91acd6;hb=60cba7a21c87442984f87f97597173e2b6357ac0;hp=bc2ccb548de6c278b0085b4bf08a098d3dcca4b5;hpb=ecd12507c871ad36c8f26d705d73ca367b5373ac;p=pintos-anon diff --git a/doc/threads.texi b/doc/threads.texi index bc2ccb5..3360039 100644 --- a/doc/threads.texi +++ b/doc/threads.texi @@ -487,7 +487,10 @@ exited at the time of the later joins. Thus, joins on T after the first should return immediately. Calling @func{thread_join} on an thread that is not the caller's -child should cause the caller to return immediately. +child should cause the caller to return immediately. For this purpose, +children are not inherited, that is, if @var{A} has child @var{B} and +@var{B} has child @var{C}, then @var{A} always returns immediately +should it try to join @var{C}, even if @var{B} is dead. Consider all the ways a join can occur: nested joins (@var{A} joins @var{B}, then @var{B} joins @var{C}), multiple joins (@var{A} joins @@ -495,15 +498,10 @@ Consider all the ways a join can occur: nested joins (@var{A} joins if @func{thread_join} is called on a thread that has not yet been scheduled for the first time? You should handle all of these cases. Write test code that demonstrates the cases your join works for. -Don't overdo the output volume, please! Be careful to program this function correctly. You will need its functionality for project 2. -Once you've implemented @func{thread_join}, define -@code{THREAD_JOIN_IMPLEMENTED} in @file{constants.h}. -@xref{Conditional Compilation}, for more information. - @node Problem 1-3 Priority Scheduling @section Problem 1-3: Priority Scheduling @@ -732,7 +730,9 @@ Make the timer tick more slowly by decreasing @code{TIMER_FREQ} in The former two changes are only desirable for testing problem 1-1 and possibly 1-3. You should revert them before working on other parts -of the project or turn in the project. +of the project or turn in the project. We will test problem 1-1 with +@code{TIME_SLICE} set to 100 and @code{TIMER_FREQ} set to 19, but we +will leave them at their defaults for all the other problems. @item @b{Should @file{p1-1.c} be expected to work with the MLFQS turned on?}