Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (S)
Guardian Procedure Calls Reference Manual—522629-013
14-150
SIGNALTIMEOUT Procedure
specifies the time period, in 0.01-second units, after which a timeout message
should be queued on $RECEIVE. This value must be greater than 0D.
param1 input
INT:value
identifies the timeout message read from $RECEIVE.
param2 input
INT(32):value
identifies the timeout message read from $RECEIVE (same purpose as
param1).
tag output
INT:ref:1
returns an identifier associated with the timer. This
tag should be used only to call
the CANCELTIMEOUT procedure.
Condition Code Settings
< (CCL) indicates that SIGNALTIMEOUT is unable to allocate a time list element
(TLE). This can occur if fewer than one-fourth of the TLEs are free.
= (CCE) indicates that SIGNALTIMEOUT completed successfully.
> (CCG) indicates that the given timeout value is illegal.
Considerations
•
SIGNALTIMEOUT and CANCELTIMEOUT
A process can use the SIGNALTIMEOUT procedure with the CANCELTIMEOUT
procedure to verify that some programmatic operation finishes within a certain
elapsed time. The process calls SIGNALTIMEOUT before initiating the operation
and then periodically reads $RECEIVE to watch for timer expiration. The process
calls CANCELTIMEOUT after completion of the timed operation if the process has
not been signaled on $RECEIVE.
•
Measuring elapsed time that a process executes
The SIGNALTIMEOUT procedure measures elapsed time (according to the
processor clock) that this process executes. This includes the time spent by the
processor in process code, in system code, processing interrupts that occur while
the process is running, and any time that the process is waiting.
•
Using SIGNALTIMEOUT to measure long time intervals
The SIGNALTIMEOUT procedure measures time according to the internal clock of
the processor in which the calling process is executing. Typically, processor time
(that is, time as measured by a particular processor) is slightly different from