Entry | |
---|---|
R0 | Poll Mask |
R1 | Pointer to 256 byte block |
R2 | Earliest time for return with Null_Reason |
R3 | Pointer to pollword in RMA (if R0 bit22 is set) |
Exit | |
---|---|
R0 | Reason Code |
R1 | Pointer to block of data |
R2 | Senders task handle |
The purpose of this call is poll the Wimp to check for any system wide events that the application may need to respond to, but will return control to this task as soon as possible after the time stated in R2.
Control is returned back to the task when it receives a Null_Reason code from Wimp_PollIdle.
This call effectively carries out exactly the same function as Wimp_Poll, with the added functionality of returning control back to the task as soon as possible after the time in R2.
Control will not be returned back to the task until the time stated in R2, unless some specific action has to be performed.
After the task has regained control upon return of Wimp_PollIdle, the value in R2 should be incremented, and call Wimp_PollIdle again.
If upon calling Wimp_PollIdle an escape condition is detected, the Wimp will cancel and disable future escape conditions.
Any errors that occur inside Wimp_PollIdle are reported by the Wimp itself and not passed back to the applications. The only exception to this rule is when an error was caused due to bad parameter usage.