diff options
author | Adam <Adam@anope.org> | 2010-10-04 16:57:11 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-10-04 16:57:11 -0400 |
commit | 3fa2659309bd94e146aa0281d92eaa0599bf7778 (patch) | |
tree | f63d4242078d34761a583af91767aecbeecae04b /modules | |
parent | 58a3e2bbb76f00465a6cf5a9b1e97ef002560bee (diff) |
Ignore the EINTR error from epoll_wait, it isnt always a real error
Diffstat (limited to 'modules')
-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; |