X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Fthreads.texi;h=451eff8ee2cc73bff7901efe24d077aba5a2d021;hb=b11369bca8a2f9f855ff0e779bfee174e7d69ea9;hp=2e779eecb40a613b0203f999120d14ad141fe4db;hpb=3c7843a633a3599801c806e32242512db9e6cca2;p=pintos-anon diff --git a/doc/threads.texi b/doc/threads.texi index 2e779ee..451eff8 100644 --- a/doc/threads.texi +++ b/doc/threads.texi @@ -321,6 +321,10 @@ 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 @code{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 @@ -429,14 +433,6 @@ Test cases should be replacements for the existing @file{test.c} file. Put them in a @file{threads/testcases} directory. @xref{TESTCASE}, for more information. -@item -@b{If a thread finishes, should its children be terminated immediately, -or should they finish normally?} - -You should feel free to decide what semantics you think this -should have. You need only provide justification for your -decision. - @item @b{Why can't I disable interrupts?} @@ -475,6 +471,18 @@ problems. There are other, equally correct solutions that do not require interrupt manipulation. However, if you do manipulate interrupts and @strong{correctly and fully document it} in your design document, we will allow limited use of interrupt disabling. + +@item +@b{What does ``warning: no previous prototype for `@var{function}'' +mean?} + +It means that you defined a non-@code{static} function without +preceding it by a prototype. Because non-@code{static} functions are +intended for use by other @file{.c} files, for safety they should be +prototyped in a header file included before their definition. To fix +the problem, add a prototype in a header file that you include, or, if +the function isn't actually used by other @file{.c} files, make it +@code{static}. @end enumerate @item Alarm Clock FAQs