From fee0f95737f493b5430d289eeabf3ed9b1b88d33 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 14 Dec 2023 11:10:52 +0100 Subject: [PATCH] jack: handle -ENOENT from the core This means that we tried to do something on a proxy that was destroyed on the server and we should just ignore the error. --- pipewire-jack/src/pipewire-jack.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c index ee5f80392..c6fed2007 100644 --- a/pipewire-jack/src/pipewire-jack.c +++ b/pipewire-jack/src/pipewire-jack.c @@ -1210,6 +1210,11 @@ static void on_error(void *data, uint32_t id, int seq, int res, const char *mess id, seq, res, spa_strerror(res), message); if (id == PW_ID_CORE) { + /* This happens when we did something on a proxy that + * was destroyed on the server already */ + if (res == -ENOENT) + return; + client->last_res = res; if (res == -EPIPE && !client->destroyed) { queue_notify(client, NOTIFY_TYPE_SHUTDOWN, @@ -4070,6 +4075,7 @@ server_failed: exit_unlock: pw_thread_loop_unlock(client->context.loop); exit: + pw_log_info("%p: error %d", client, *status); jack_client_close((jack_client_t *) client); return NULL; disabled: