summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/modules/m_ident.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/modules/m_ident.cpp b/src/modules/m_ident.cpp
index 87022dbd5..9588bb3e7 100644
--- a/src/modules/m_ident.cpp
+++ b/src/modules/m_ident.cpp
@@ -209,7 +209,11 @@ class ModuleIdent : public Module
#endif
IdentRequestSocket *isock = new IdentRequestSocket(ServerInstance, user, RequestTimeout, ip);
- user->Extend("ident_socket", isock);
+ if (isock->GetFd() > -1)
+ user->Extend("ident_socket", isock);
+ else
+ if (ServerInstance->SocketCull.find(isock) == ServerInstance->SocketCull.end())
+ ServerInstance->SocketCull[isock] = isock;
return 0;
}