--- a/qmeventd.c +++ a/qmeventd.c @@ -684,11 +684,14 @@ main(int argc, char *argv[]) vm_clients = g_hash_table_new_full(g_str_hash, g_str_equal, free, NULL); int nevents; for(;;) { + errno = 0; nevents = epoll_wait(epoll_fd, events, 1, needs_cleanup ? 10*1000 : -1); + if (nevents < 0 && errno == EINTR) + continue; bail_neg(nevents, "epoll_wait"); for (int n = 0; n < nevents; n++) { if (events[n].data.fd == sock) {