r6.0.1:lfds601_queue_guaranteed_enqueue

From liblfds.org
Revision as of 14:07, 4 January 2015 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Source Files

/liblfds601/src/lfds601_queue/lfds601_queue_queue.c
/liblfds601/inc/liblfds601.h

Prototype

int lfds601_queue_guaranteed_enqueue( struct lfds601_queue_state *qs, void *user_data );

Parameters

struct lfds601_queue_state *qs

A queue state as allocated by lfds601_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 lfds601_queue_enqueue fails only when the queue's freelist is empty. In this event, lfds601_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.

See Also