Suggested by Godmar Back.
/* Transitions a blocked thread T to the ready-to-run state.
This is an error if T is not blocked. (Use thread_yield() to
- make the running thread ready.) */
+ make the running thread ready.)
+
+ This function does not preempt the running thread. This can
+ be important: if the caller had disabled interrupts itself,
+ it may expect that it can atomically unblock a thread and
+ update other data. */
void
thread_unblock (struct thread *t)
{