summary refs log tree commit diff
path: root/main.c
diff options
context:
space:
mode:
authorZach DeCook <zachdecook@librem.one>2024-01-29 20:59:54 -0500
committerZach DeCook <zachdecook@librem.one>2024-01-29 20:59:54 -0500
commit5dde096498a6c078901a6ea8ad922932e7693f09 (patch)
treec93a42c80f2d15bf9da3207eec2a9ec4dc74d742 /main.c
parent72b46219c2adc1908df98203ebc0d4f48351d3ee (diff)
downloadsuggpicker-5dde096498a6c078901a6ea8ad922932e7693f09.tar.gz
event loop: exit if the wayland socket disappears v0.1.4
(prevents infinite loop when your compositor crashes)
Diffstat (limited to 'main.c')
-rw-r--r--main.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/main.c b/main.c
index 2bedc63..39d8cea 100644
--- a/main.c
+++ b/main.c
@@ -549,6 +549,12 @@ main(int argc, char **argv) {
 		if (fds[WAYLAND_FD].revents & POLLIN) {
 			wl_display_dispatch(display);
 		}
+		if (fds[WAYLAND_FD].revents & POLLERR) {
+			die("Exceptional condition on wayland socket.\n");
+		}
+		if (fds[WAYLAND_FD].revents & POLLHUP) {
+			die("Wayland socket has been disconnected.\n");
+		}
 
 		if (fds[SIGNAL_FD].revents & POLLIN) {
 			struct signalfd_siginfo si;