(Revision 0 - 16 October 2000)
get here from
prologue of k_ipc if syscall has no send phase
sender_restart_receiving (no listing in IL4M)
k_ipc l30-35 sets up stack with sender_restart_receive on top
followed by timeiou, wfor, and redesc
sender_restart_receive pops parameters and calls receive_only
on entry
user provided args: timeout/wfor/rdesc are set up andalso
stcb
see UM p22 for user supplied arguments
| 0,1 | if a sender in receiver's sendQ goto receive only code that handles pending receives - pending_receive_only |
| 2-6 | else if timeout = infinity, got code that blocks this receiver (l15) |
| 7,8 | else if timeout > 0 goto putting to sleep code (l112) |
| 9,10 | else if timeout = 0 and thread being waited for is >= 8 which means we have a receive timeout, goto receive timeout return code (l110), else continue in-line and do interrupt association code |
Notes:
1. possible interrupt thread #s are 0-7
2. if timeout was = 0 and a sender was waiting for us we would have gone to
pending_recv_only code (see line 1)