L 5.11:   Epilogue of receive_only

(Revision 0 - 16 October 2000)

 

overview

for >0 timeouts with no threads in sendQ this code stores thread state and (receive) call parameters in its tcb and switches to next thread
also re-enables interrupt in SR interrupt mask for type it may have handled

112-114 if finite timeout - insert thread in wakeup Q
119 store thread's state in its tcb - it can be blocked (l3) or blocked + wakeup (l112)
115-118 re-enable interrupt in SR IM field if this thread was an interrupt handler (but who disabled it?)
119-122 thread cannot do its receive - so store its: state, receive descriptor and timeout in its tcb
123 call scheduler to switch to next thread