The Remove Entry from Head of Queue routine removes an entry from the head of the specified self-relative longword interlocked queue. LIB$REMQHI makes the REMQHI instruction available as a callable routine. Format LIB$REMQHI header ,remque-address [,retry-count]
1 – Returns
OpenVMS usage:cond_value type: longword (unsigned) access: write only mechanism: by value
2 – Arguments
header OpenVMS usage:quadword_signed type: quadword integer (signed) access: modify mechanism: by reference Queue header specifying the queue from which entry will be removed. The header argument contains the address of this signed aligned quadword integer. The header argument must be initialized to zero before first use of the queue; zero means an empty queue. On Alpha and I64 systems, the header argument must contain a 32-bit address. A 64-bit address results in an illegal operand exception. remque-address OpenVMS usage:address type: longword (unsigned) access: write only mechanism: by reference Address of the removed entry. The remque-address argument is the address of an unsigned longword that contains this address. If the queue was empty, remque-address is set to the address of the header. On Alpha and I64 systems, the remque-address argument must contain a 32-bit address. A 64-bit address results in an illegal operand exception. retry-count OpenVMS usage:longword_unsigned type: longword (unsigned) access: read only mechanism: by reference The number of times the operation is to be retried in case of secondary-interlock failure of the queue instruction in a processor-shared memory application. The retry-count argument is the address of a longword that contains the retry count value. A value of 1 causes no retries. The default value is 10.