Queue Manager Manual
WAITQ (UOW Code 505)
Queue Manager Server Interface
2–22 46517 Tandem Computers Incorporated
QUEUE-NAME
This identifies the specific queue for the wait request.
WAIT-PRIORITY
This determines which waiting process is responded to first. The field can contain an
unsigned value ranging from 0 (lowest priority) through 199 (highest priority). Higher
numbers are processed before lower numbers.
WAIT-TIMEOUT
This sets an upper limit, in seconds, on the amount of time the requesting application
can wait for an entry. A value of -1 is an unlimited wait.
RETN-CODE
This is the return code. A code is returned in this field to indicate one of the following
entries:
0 OK 6002 E-TOO-MANY-WAITERS
4078 E-INVALID-PRIORITY 6003 E-INVALID-WAITPRIORITY
4924 E-ERR-QUEUE-FILE 6004 E-INVALID-WAITTIMEOUT
4990 E-IO-TIMEOUT 6005 W-WAIT-TIMEOUT
RETN-CODE-DETAIL
This is an error number returned by a subsystem other than Queue Manager facility or
is a further qualification of an error detected by the server.
QUEUE-NAME
This in the response is the name of the queue for which a new queue entry has arrived.
WAITQ Operation WAITQ responds to a WAITQ request for a particular queue by reading that queue. If
the queue has an entry, WAITQ issues a response; if the queue is empty, WAITQ waits
for an entry. When a queue entry is made and WAITQ issues a response to a server
process, the process is generally expected to start a transaction and then issue a DEQ
request.
If the queue entry is made and then the transaction is aborted, the queue entry might
disappear. It is possible, therefore, that the DEQ could return with a Queue Empty
response immediately after the WAITQ returns indicating that the queue is not empty.
In this case, the server process should end the transaction and call WAITQ again. If
the DEQ returns with an E-IO-TIMEOUT error, the application should be delayed for a
short while and retried. The entry might still be locked because the requester has not
ended the transaction.
If you want the WAITQ operation to be timed, use the W-WAIT-TIMEOUT field in the
WAITQ UOW. Do not use the normal GUARDIAN 90 timed I/O. GUARDIAN 90
will not notify the Wait Manager when an I/O timeout occurs, and Wait Manager will
continue to wait. Retries of the timed I/Os could eventually cause Wait Manager to
exceed the limit of waiters.