The Remove Entry from Tail of Queue routine removes an entry from the tail of the specified self-relative longword interlocked queue. LIB$REMQTI makes the REMQTI instruction available as a callable routine. Format LIB$REMQTI 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 the entry is to be deleted. 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 sign-extended address. An illegal operand exception occurs for any other form of address. 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 a 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 sign-extended address. An illegal operand exception occurs for any other form of address. 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 is this retry count value. A value of 1 causes no retries. The default value is 10.