summaryrefslogtreecommitdiff
path: root/modules/socketengines/m_socketengine_epoll.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-10-04 16:57:11 -0400
committerAdam <Adam@anope.org>2010-10-04 16:57:11 -0400
commit3fa2659309bd94e146aa0281d92eaa0599bf7778 (patch)
treef63d4242078d34761a583af91767aecbeecae04b /modules/socketengines/m_socketengine_epoll.cpp
parent58a3e2bbb76f00465a6cf5a9b1e97ef002560bee (diff)
Ignore the EINTR error from epoll_wait, it isnt always a real error
Diffstat (limited to 'modules/socketengines/m_socketengine_epoll.cpp')
-rw-r--r--modules/socketengines/m_socketengine_epoll.cpp3
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;