r6:Function:queue guaranteed enqueue

From liblfds.org
Jump to: navigation, search

Source Files



int queue_guaranteed_enqueue( struct queue_state *qs, void *user_data );


struct queue_state *qs

A queue state as allocated by 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.


The function queue_enqueue fails only when the queue's freelist is empty. In this event, 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