A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

kernel: Add queue_full() API call

This allows callers to see if it's safe to enqueue something instead
of triggering a panic if the queue turns out to be full.

Change-Id: Idb887e7a47cfbfef998f27d9d85090f3c0ed2230

+7
+1
firmware/kernel/include/queue.h
··· 141 141 extern bool queue_in_queue_send(struct event_queue *q); 142 142 #endif /* HAVE_EXTENDED_MESSAGING_AND_NAME */ 143 143 extern bool queue_empty(const struct event_queue* q); 144 + extern bool queue_full(const struct event_queue* q); 144 145 extern bool queue_peek(struct event_queue *q, struct queue_event *ev); 145 146 146 147 #define QPEEK_FILTER_COUNT_MASK (0xffu) /* 0x00=1 filter, 0xff=256 filters */
+6
firmware/kernel/queue.c
··· 701 701 return ( q->read == q->write ); 702 702 } 703 703 704 + /* Poll queue to see if it is full */ 705 + bool queue_full(const struct event_queue* q) 706 + { 707 + return ((q->write - q->read) >= QUEUE_LENGTH); 708 + } 709 + 704 710 void queue_clear(struct event_queue* q) 705 711 { 706 712 int oldlevel;