diff options
Diffstat (limited to 'mcwm.c')
-rw-r--r-- | mcwm.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -3593,6 +3593,7 @@ void events(void) int fd; /* Our X file descriptor */ fd_set in; /* For select */ int found; /* Ditto. */ + int err; /* Get the file descriptor so we can do select() on it. */ fd = xcb_get_file_descriptor(conn); @@ -3621,8 +3622,9 @@ void events(void) * Check if we have an unrecoverable connection error, * like a disconnected X server. */ - if (xcb_connection_has_error(conn)) + if ((err = xcb_connection_has_error(conn))) { + PDEBUG("xcb_connection_has_error() returned %d.\n", err); cleanup(0); exit(1); } @@ -3632,8 +3634,10 @@ void events(void) { if (EINTR == errno) { - /* We received a signal. Break out of loop. */ - break; + if (sigcode != 0) { + /* We received a signal. Break out of loop. */ + break; + } } else { |