From bf0358e8f7782615cf7c01ed0fdcac7ed2400111 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 7 Apr 2013 17:46:32 +0200 Subject: [PATCH] Handle EINTR in epoll_wait(). --- server.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server.cpp b/server.cpp index 7e43522..e26a85b 100644 --- a/server.cpp +++ b/server.cpp @@ -140,6 +140,9 @@ void Server::do_work() { for ( ;; ) { int nfds = epoll_wait(epoll_fd, events, EPOLL_MAX_EVENTS, EPOLL_TIMEOUT_MS); + if (nfds == -1 && errno == EINTR) { + continue; + } if (nfds == -1) { perror("epoll_wait"); exit(1); -- 2.39.2