diff options
-rw-r--r-- | modules/socketengines/m_socketengine_epoll.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/socketengines/m_socketengine_epoll.cpp b/modules/socketengines/m_socketengine_epoll.cpp index 713c1f0ff..7ec380109 100644 --- a/modules/socketengines/m_socketengine_epoll.cpp +++ b/modules/socketengines/m_socketengine_epoll.cpp @@ -121,7 +121,8 @@ class SocketEngineEPoll : public SocketEngineBase int total = epoll_wait(EngineHandle, events, max - 1, Config->ReadTimeout * 1000); Anope::CurTime = time(NULL); - if (total == -1) + /* EINTR can be given if the read timeout expires */ + if (total == -1 && errno != EINTR) { Log() << "SockEngine::Process(): error: " << Anope::LastError(); return; |