2 #include "lfds710_queue_bounded_singleproducer_singleconsumer_internal.h"
8 /****************************************************************************/
9 int lfds710_queue_bss_dequeue( struct lfds710_queue_bss_state *qbsss,
13 struct lfds710_queue_bss_element
16 LFDS710_PAL_ASSERT( qbsss != NULL );
17 // TRD : key can be NULL
18 // TRD : value can be NULL
20 LFDS710_MISC_BARRIER_LOAD;
22 if( qbsss->read_index != qbsss->write_index )
24 qbsse = qbsss->element_array + qbsss->read_index;
30 *value = qbsse->value;
32 qbsss->read_index = (qbsss->read_index + 1) & qbsss->mask;
34 LFDS710_MISC_BARRIER_STORE;