diff options
-rw-r--r-- | src/modules/m_ident.cpp | 6 |
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; } |