r6.1.1:lfds611_queue_guaranteed_enqueue
Jump to navigation
Jump to search
Source Files
/liblfds611/src/lfds611_queue/lfds611_queue_queue.c /liblfds611/inc/liblfds611.h
Prototype
int lfds611_queue_guaranteed_enqueue( struct lfds611_queue_state *qs, void *user_data );
Parameters
struct lfds611_queue_state *qs
- A queue state as allocated by lfds611_queue_new.
void *user_data
- A void pointer of user data which will be queued into the queue.
Return Value
Returns 1 on a successful enqueue. Returns 0 if enqueing failed. Enqueuing only fails if malloc fails.
Notes
The function lfds611_queue_enqueue fails only when the queue's freelist is empty. In this event, lfds611_queue_guaranteed_push can be called, which allocates a new element and enqueues using that new element, thus guaranteeing an enqueue, barring the event of malloc failure.