From a50e9a995e2dbddf31fd97e7ab100b4198f1f35c Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Sat, 31 Jan 2026 17:27:24 +0200 Subject: [PATCH] pulse-server: disconnect from server on EPROTO If we get EPROTO, we likely have missed on some messages from the server, and our state is now out of sync. It's likely we can't recover (e.g. if error is due to fd limit hit), so just drop the server connection in this case, similarly as if we got EPIPE. --- src/modules/module-protocol-pulse/manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/module-protocol-pulse/manager.c b/src/modules/module-protocol-pulse/manager.c index 5b597f4eb..72d51b020 100644 --- a/src/modules/module-protocol-pulse/manager.c +++ b/src/modules/module-protocol-pulse/manager.c @@ -718,7 +718,7 @@ static void on_core_error(void *data, uint32_t id, int seq, int res, const char { struct manager *m = data; - if (id == PW_ID_CORE && res == -EPIPE) { + if (id == PW_ID_CORE && (res == -EPIPE || res == -EPROTO)) { pw_log_debug("connection error: %d, %s", res, message); manager_emit_disconnect(m); }