Function multififo_remove

Function Documentation

status_t multififo_remove(struct multififo *fifo, void *e)

Dequeue an element from the multi-FIFO.

If the ref count for the front/head element in the root FIFO is 0, then the element will be dequeued into e (assuming it is non-NULL). Otherwise, no effect. If a remove is performed, an appropriate number of elements are added to each child shadow FIFO pointing inside the new front element in the root FIFO.

Parameters:
  • fifo – The multi-FIFO handle.

  • e – The element to dequeue into from the multi-FIFO. Can be NULL.

Returns:

status_t . Note that it is an ERROR to try to remove an element from the root FIFO before all children have finished processing it.