Removes the first element from an atomic queue.
Syntax
cma_lib_queue_dequeue (queue, element)
Argument Data Type Access
queue opaque cma_lib_t_queue read
element opaque cma_t_address write
C Binding
void
cma_lib_queue_dequeue (
cma_lib_t_queue *queue,
cma_lib_t_address *element);
Arguments
- queue
- Handle of the queue from which the element is removed.
- element
- Variable that receives the address of the removed queue
element.
Description
This routine removes the first element from an atomic queue.
If the queue is empty, the calling thread is blocked until an
element is inserted into the queue. When the element is enqueued
the calling thread resumes, the new element is removed, and this
routine returns.
Call cma_lib_queue_try_dequeue to remove an element from a queue and
return a status code (instead of blocking) if the queue is empty.
Exceptions
cma_e_existence
cma_e_use_error