mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-02-06 04:06:36 -05:00
When a queue overflows we place the queue back in the stack and try again. Because it's at the top of the stack we take exactly the same queue and keep on looping forever if the other thread is blocked for some reason. Instead, mark the queue as overflowed and only place it back in the stack when we have flushed it. This avoids a deadlock when the main-thread invokes on the data loop and blocks and when the data loop invokes on the main-thread and overflows the queue. |
||
|---|---|---|
| .. | ||
| cpu-arm.c | ||
| cpu-riscv.c | ||
| cpu-x86.c | ||
| cpu.c | ||
| dbus.c | ||
| evl-plugin.c | ||
| evl-system.c | ||
| journal.c | ||
| logger.c | ||
| loop.c | ||
| meson.build | ||
| node-driver.c | ||
| null-audio-sink.c | ||
| plugin.c | ||
| system.c | ||