X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=doc%2Ftour.texi;h=195238597b03a84805ecba4c979cf50846c69bd0;hb=74b32a20fdac074b17473333b55364209aaf9802;hp=aed36fec51cb647ae04db47fa03c59555c17e882;hpb=e647de5c3d678cecedad4da33bcaa6e0897976c1;p=pintos-anon diff --git a/doc/tour.texi b/doc/tour.texi index aed36fe..1952385 100644 --- a/doc/tour.texi +++ b/doc/tour.texi @@ -468,13 +468,13 @@ Before any of these functions call @func{schedule}, they disable interrupts (or ensure that they are already disabled) and then change the running thread's state to something other than running. -The actual @func{schedule} implementation is simple. It records the +@func{schedule} is simple but tricky. It records the current thread in local variable @var{cur}, determines the next thread to run as local variable @var{next} (by calling @func{next_thread_to_run}), and then calls @func{switch_threads} to do the actual thread switch. The thread we switched to was also running inside @func{switch_threads}, as are all the threads not currently -running in Pintos, so the new thread now returns out of +running, so the new thread now returns out of @func{switch_threads}, returning the previously running thread. @func{switch_threads} is an assembly language routine in