![[Return to Bookshelf]](BOOKSHELF.GIF) 
![[Contents]](TOC.GIF) 
![[Previous Section]](PREV.GIF) 
![[Next Section]](NEXT.GIF) 
![[Index]](INDEX.GIF) 
![[Help]](HELP.GIF) 
Removes the first element from an atomic queue.
Syntax
status = cma_lib_queue_try_dequeue (queue, element)
 
Argument         Data Type               Access
status           Boolean cma_t_boolean   write
queue            opaque cma_lib_t_queue  read
element          opaque cma_t_address    write
C Binding
cma_t_boolean
cma_lib_queue_dequeue (
cma_lib_t_queue *queue,
cma_lib_t_address *element);
Arguments
- status
-  Boolean value that specifies whether the element was dequeued.
- 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 does not wait for an
element to be enqueued. Instead, the routine returns with the status
cma_c_false. If the queue is not empty, the first element value is
returned to element, and the routine returns with the
status cma_c_true.
Call cma_lib_queue_dequeue if you want to remove an element from a
queue but cause the calling thread to block if the queue is empty.
Exceptions
cma_e_existence
cma_e_use_error
![[Return to Bookshelf]](BOOKSHELF.GIF) 
![[Contents]](TOC.GIF) 
![[Previous Section]](PREV.GIF) 
![[Next Section]](NEXT.GIF) 
![[Index]](INDEX.GIF) 
![[Help]](HELP.GIF)