From c0a793e2905b5c8b3792e7f094e74308339692da Mon Sep 17 00:00:00 2001 From: "Pierre-Loup A. Griffais" Date: Wed, 15 Jan 2020 17:48:20 -0800 Subject: [PATCH] wlserver: handle EINTR in the main loop epoll. Fixes the server going away when we need it most, or when attaching GDB. --- src/wlserver.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/wlserver.c b/src/wlserver.c index b085d26..4806269 100644 --- a/src/wlserver.c +++ b/src/wlserver.c @@ -225,9 +225,16 @@ int wlserver_run(void) n = epoll_wait( epoll_fd, events, 128, -1 ); if ( n == -1 ) { - break; + if ( errno == EINTR ) + { + continue; + } + else + { + break; + } } - + // We have wayland stuff to do, do it while locked wlserver_lock();