From 2ba97aee6c7b02e9ec62b4ae28fc041423936e10 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 8 Jan 2011 03:35:04 -0500 Subject: [PATCH] Ignore EINTR error from poll() --- modules/socketengines/m_socketengine_epoll.cpp | 5 +++-- modules/socketengines/m_socketengine_poll.cpp | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/socketengines/m_socketengine_epoll.cpp b/modules/socketengines/m_socketengine_epoll.cpp index 4a228a694..0950f62de 100644 --- a/modules/socketengines/m_socketengine_epoll.cpp +++ b/modules/socketengines/m_socketengine_epoll.cpp @@ -116,9 +116,10 @@ class SocketEngineEPoll : public SocketEngineBase Anope::CurTime = time(NULL); /* EINTR can be given if the read timeout expires */ - if (total == -1 && errno != EINTR) + if (total == -1) { - Log() << "SockEngine::Process(): error: " << Anope::LastError(); + if (errno != EINTR) + Log() << "SockEngine::Process(): error: " << Anope::LastError(); return; } diff --git a/modules/socketengines/m_socketengine_poll.cpp b/modules/socketengines/m_socketengine_poll.cpp index bca06fe93..e85c79bb0 100644 --- a/modules/socketengines/m_socketengine_poll.cpp +++ b/modules/socketengines/m_socketengine_poll.cpp @@ -131,9 +131,11 @@ class SocketEnginePoll : public SocketEngineBase int total = poll(this->events, this->SocketCount, Config->ReadTimeout * 1000); Anope::CurTime = time(NULL); + /* EINTR can be given if the read timeout expires */ if (total == -1) { - Log() << "SockEngine::Process(): error: " << Anope::LastError(); + if (errno != EINTR) + Log() << "SockEngine::Process(): error: " << Anope::LastError(); return; }