previous | start | next

Prob 5

Assuming that all threads are either runnable or waiting on a mutex what can you say if there are no threads on the run queue with this version of thread_switch?

void thread_switch( ) {
  thread_t NextThread, OldCurrent;

  NextThread = dequeue(RunQueue);
  OldCurrent = CurrentThread;
  CurrentThread = NextThread;
  swapcontext(&OldCurrent->context, &NextThread->context);

  // We're now in the new thread's context

}
   


previous | start | next