enum lfds711_queue_bmm_query

From liblfds.org
Jump to: navigation, search

Source File



enum lfds711_queue_umm_query



Counts the number of elements in the queue. Where with this queue, enqueue and dequeue operations are not guaranteed to be visible by the time the enqueue or dequeue function returns, it must then be that the count of operations can be inaccurate. If some (typically) tens of microseconds have passed since the last operation by any thread, the count will be correct.


Validates the queue. Additionally, if given as input a lfds711_misc_validation_info, which indicates an expected range of the number of elements in the queue, counts the number of elements in the queue and checks they fall within the expected range. As with count, both the loop check and the element count (which is in fact performed by issuing the LFDS711_QUEUE_UMM_QUERY_SINGLETHREADED_GET_COUNT query) can in theory enter an infinite loop if enqueue or dequeue operations occur while the validation operation is executing. You were warned.


This enum is used by the queue query function, lfds711_queue_bmm_query.

See Also