From 0e576a2bdb1cca9547f8a55565facb9949dac3aa Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 21 Oct 2007 20:43:12 +0000 Subject: [PATCH] Could it really be THIS simple? git-svn-id: http://svn.inspircd.org/repository/branches/1_1_stable@8282 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_ident.cpp | 4 +++- src/socketengine_epoll.cpp | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp index dbd38563c..48ba9ea0c 100644 --- a/src/modules/m_ident.cpp +++ b/src/modules/m_ident.cpp @@ -116,6 +116,8 @@ class IdentRequestSocket : public EventHandler } ServerInstance->SE->WantWrite(this); + /* XXX Writeable socket, readable close? what happens?! */ + /*Close();*/ } virtual void OnConnected() @@ -350,7 +352,7 @@ class ModuleIdent : public Module ServerInstance->Log(DEBUG, "Has ident_socket"); - if (isock->age + RequestTimeout > ServerInstance->Time() && !isock->HasResult()) + if ((ServerInstance->Time() > (isock->age + RequestTimeout)) && !isock->HasResult()) { /* Ident timeout */ user->WriteServ("NOTICE Auth :*** Ident request timed out."); diff --git a/src/socketengine_epoll.cpp b/src/socketengine_epoll.cpp index 4ed68ca57..0692cf7fc 100644 --- a/src/socketengine_epoll.cpp +++ b/src/socketengine_epoll.cpp @@ -74,6 +74,7 @@ void EPollEngine::WantWrite(EventHandler* eh) ev.events = EPOLLOUT; ev.data.fd = eh->GetFd(); epoll_ctl(EngineHandle, EPOLL_CTL_MOD, eh->GetFd(), &ev); + ServerInstance->Log(DEBUG,"WantWrite on fd %d", eh->GetFd()); } bool EPollEngine::DelFd(EventHandler* eh, bool force) @@ -89,7 +90,10 @@ bool EPollEngine::DelFd(EventHandler* eh, bool force) int i = epoll_ctl(EngineHandle, EPOLL_CTL_DEL, fd, &ev); if (i < 0 && !force) + { + ServerInstance->Log(DEBUG,"Unable to remove fd: operating system error: %s", strerror(errno)); return false; + } CurrentSetSize--; ref[fd] = NULL;