14.1.3.3. Multiprogramming Considerations
The top-level Rexx program in a process tree
owns an unnamed queue. However,
any child process can modify the queue at any time. No specific process or
user owns a named queue. The operations that affect the queue are atomic—the
subsystem serializes the resource so that no data integrity problems can occur.
However, you are responsible for the synchronization of requests so that two
processes accessing the same queue get the data in the order it was placed
on the queue.
A specific process owns (creates) an unnamed queue. When that process
ends, the language processor deletes the queue. Conversely, the named queues
created with
RxQueue("Create", queuename)
exist until you
explicitly delete them. The end of a program or procedure that created a named
queue does not force the deletion of the private queue. When the process that
created a queue ends, any data on the queue remains until the data is read
or the queue is deleted. (The function call
RxQueue("Delete", queuename)
deletes a queue.)
If a data queue is deleted by its creator, a procedure, or a program, the
items in the queue are also deleted.