WAIT
Specify wait time for an I/O statement to finish processing
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
NSupported in Synergy .NET
|
WAIT:wait_spec
Arguments
wait_spec
One of the following identifiers or corresponding values: (n)
Don’t wait if I/O processing can’t be completed (unless system option #35 is set; see below for details).
Wait until I/O processing is completed.
Wait up to n number of seconds for I/O processing to complete.
Discussion
The WAIT qualifier specifies how long to wait for an I/O statement to complete processing.
For files, I/O processing can’t complete if the record is locked. If you don’t specify the WAIT qualifier, Synergy DBL defaults to the setting of the DFLAG subroutine runtime option flag 3. If you do specify WAIT, it overrides the DFLAG setting.
If a record is locked and you specify WAIT:Q_NOWAIT, you’ll get a “Record is locked” error ($ERR_LOCKED). If a record is locked and you specify WAIT:Q_WAIT or WAIT:n, program execution is suspended until the record is available or until n seconds have passed. If the record is not available within n number of seconds, you’ll get a “Record is locked” error ($ERR_LOCKED).
For terminals, WAIT:Q_WAIT is the default. If you specify WAIT:Q_WAIT or WAIT:n, the program execution is suspended until input is received from the terminal. If input is not received within n number of seconds, you’ll get a “Terminal input operation” error.
If system option #35 (VAX DIBOL–compatible functionality) is set and you specify a value of zero for wait_spec, it indicates “wait forever” instead of “don’t wait.”
For Windows non-interactive runtimes and all .NET runtimes, READS, GETS, and ACCEPT do not honor the WAIT qualifier and will wait forever for a terminating condition (or full buffer in the case of GETS).
See also