macro LFDS711_QUEUE_UMM_SET_VALUE_IN_ELEMENT

From liblfds.org
Jump to navigation Jump to search

Source Files

└───liblfds711
    └───inc
        └───liblfds711
                lfds711_queue_umm.h

Opaque Structures

struct lfds711_queue_umm_element;

Macro

#define LFDS711_QUEUE_UMM_SET_VALUE_IN_ELEMENT( queue_umm_element, new_value )

Parameters

queue_umm_element

A struct lfds711_queue_umm_element, which is not currently part of a queue. Not a pointer to it - the struct itself.

new_value

A pointer, which will be cast by the macro to a void *, which the value in queue_element is set to.

Return Value

No return value.

Notes

The value in a queue element can only be set when the element is outside of a queue (i.e. has been dequeued, or has yet to be enqueued). This macro can be called at any time, but if it is used on an element which is present in a queue, all bets are off - all threads on the logical core which does this will see the change, but there is no guarantee any other logical cores will ever see the change. You were warned.

As with all liblfds macros, the macro operates on the structure itself, not a pointer to it.

Example

Coming soon. No, really! (Written 29th Dec 2015).

See Also