From 3f226d8cceb3e51232023f3078d81b25901b49e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Mon, 7 Jan 2019 18:27:28 +0100 Subject: [PATCH] bar: detect XCB disconnect (and abort) --- bar.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bar.c b/bar.c index d5be6f5..4a715c6 100644 --- a/bar.c +++ b/bar.c @@ -597,6 +597,12 @@ run(struct bar_run_context *run_ctx) if (fds[0].revents && POLLIN) break; + if (fds[1].revents & POLLHUP) { + LOG_WARN("disconnected from XCB"); + write(run_ctx->abort_fd, &(uint64_t){1}, sizeof(uint64_t)); + break; + } + for (xcb_generic_event_t *e = xcb_wait_for_event(bar->conn); e != NULL; e = xcb_poll_for_event(bar->conn))