pipewire/spa/plugins/support
Wim Taymans 5f4b422ab1 loop: improve cancellation handling
Now that the loop_leave function will assert when the unlock fails we
need to be extra careful with the cancellable loop. If it cancels inside
the poll or one of the before/after callbacks we need to make sure that
we lock the loop correctly again or we will create an assert later on.

Do this by pushing the cleanup earlier and then record all the things we
managed to do before we get canceled. If we ever get canceled and the
lock was unlocked but not locked again, fix this up.

Fix fixes issues when using the JACK API causing assertions when the
data loop is stopped/cancelled.
2026-03-10 16:46:29 +01:00
..
cpu-arm.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
cpu-riscv.c spa/support: implement RISCV V CPU detection 2024-09-18 10:40:48 +00:00
cpu-x86.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
cpu.c spa: support: use feature macro from config.h 2024-09-18 22:29:11 +02:00
dbus.c support: return NULL instead of FALSE 2026-01-03 22:54:25 +01:00
evl-plugin.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
evl-system.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
journal.c journal: prepend code location to messages at debug log levels 2024-04-28 16:02:28 +03:00
logger.c treewide: fix some -Wdiscarded-qualifiers 2026-02-19 21:00:10 +01:00
loop.c loop: improve cancellation handling 2026-03-10 16:46:29 +01:00
meson.build meson: Search for and link to stdthreads 2024-09-23 08:09:45 +00:00
node-driver.c spa: node-driver: Expose the clock id as param properties 2025-10-28 07:18:59 +00:00
null-audio-sink.c modules: support audio.layout where we can 2025-10-30 12:29:31 +01:00
plugin.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
system.c pipewire-alsa: Propagate errors from eventfd(). 2024-02-19 14:16:26 +00:00