2 #include "lfds700_queue_bounded_singleconsumer_singleproducer_internal.h"
8 /****************************************************************************/
9 int lfds700_queue_bss_enqueue( struct lfds700_queue_bss_state *qbsss, void *key, void *value )
14 struct lfds700_queue_bss_element
17 LFDS700_PAL_ASSERT( qbsss != NULL );
18 // TRD : key can be NULL
19 // TRD : value can be NULL
21 LFDS700_MISC_BARRIER_LOAD;
23 if( ( (qbsss->write_index+1) & qbsss->mask ) != qbsss->read_index )
25 qbsse = qbsss->element_array + qbsss->write_index;
30 LFDS700_MISC_BARRIER_STORE;
32 qbsss->write_index = (qbsss->write_index + 1) & qbsss->mask;