clear_message_queue — Close a message queue handle and release all associated resources.
clear_message_queue( : : QueueHandle : )
clear_message_queue closes a message queue handle
QueueHandle that was previously opened with
Any resources owned by the message queue, in particular
message data queued in the message queue will be released.
Multiple message queue handles can be closed in a single
clear_message_queue call, passing them as a tuple to the
The handle(s) must not be used again after being invalidated using
clear_message_queue. Using an invalid handle results in
clear_message_queue must not be called while the
handle is used concurrently from other threads, because this would result
in undefined behavior.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
QueueHandle(input_control, state is modified) message_queue(-array)
Message queue handle(s) to be closed.
Number of elements: QueueHandle >= 1
QueueHandle != 0
create_message_queue (ProducerQueue) create_message_queue (ResultQueue) * ...
If the message queue handle(s) passed to the operator are valid,
clear_message_queue returns 2 (H_MSG_TRUE). Otherwise an exception is raised.
If a tuple of handles is passed and some of them are invalid,
clear_message_queue attempts to clear as many handles
from the tuple as possible before reporting the error.