X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fthreads.texi;fp=doc%2Fthreads.texi;h=44066d2f4b9e7e46d581b2dc23cc6269163ab160;hb=6c75d304d238c3dfdd2aef62decd60a16bb64c7d;hp=bc2ccb548de6c278b0085b4bf08a098d3dcca4b5;hpb=9a23b07779a919205f9a355c81b67b629e929575;p=pintos-anon diff --git a/doc/threads.texi b/doc/threads.texi index bc2ccb5..44066d2 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,7 +498,6 @@ 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.