From fff52bb7a2692e8714108f0ea0e796a0a289e8d9 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 21 Aug 2024 14:48:40 +0200 Subject: [PATCH] Revert "spa: support: loop: do not call control hooks on blocking invoke" This reverts commit 9ae89b4247ea222de440a508547e3db290840baa. All invokes should be paired with a lock/unlock if the loop requires this. For internal calls of invoke, this will also be true because all pipewire functions should be called with the lock. Fixes #4215 --- spa/plugins/support/loop.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spa/plugins/support/loop.c b/spa/plugins/support/loop.c index 457895a3d..1b406866f 100644 --- a/spa/plugins/support/loop.c +++ b/spa/plugins/support/loop.c @@ -365,10 +365,14 @@ retry: if (block && queue->ack_fd != -1) { uint64_t count = 1; + spa_loop_control_hook_before(&impl->hooks_list); + if ((res = spa_system_eventfd_read(impl->system, queue->ack_fd, &count)) < 0) spa_log_warn(impl->log, "%p: failed to read event fd:%d: %s", queue, queue->ack_fd, spa_strerror(res)); + spa_loop_control_hook_after(&impl->hooks_list); + res = item->res; } else {