From: Ben Pfaff Date: Sat, 9 Oct 2004 18:01:37 +0000 (+0000) Subject: Comments. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=950985ca5805adc14dbb9febbf51e1b8d2b654c4;p=pintos-anon Comments. --- diff --git a/src/threads/thread.c b/src/threads/thread.c index b0d5a91..ee83e0d 100644 --- a/src/threads/thread.c +++ b/src/threads/thread.c @@ -376,6 +376,10 @@ next_thread_to_run (void) the first time a thread is scheduled it is called by switch_entry() (see switch.S). + It's not safe to call printf() until the thread switch is + complete. In practice that means that printf()s should be + added at the end of the function. + After this function and its caller returns, the thread switch is complete. */ void @@ -407,7 +411,10 @@ schedule_tail (struct thread *prev) /* Schedules a new process. At entry, interrupts must be off and the running process's state must have been changed from running to some other state. This function finds another - thread to run and switches to it. */ + thread to run and switches to it. + + It's not safe to call printf() until schedule_tail() has + completed. */ static void schedule (void) {