dispose prematurely discon sockets

master
UbitUmarov 2020-07-15 19:15:11 +01:00
parent 402186844c
commit 4bc74139a4
1 changed files with 15 additions and 4 deletions

View File

@ -140,6 +140,11 @@ namespace OSHttpServer
m_listener.BeginAcceptSocket(OnAccept, null); m_listener.BeginAcceptSocket(OnAccept, null);
beginAcceptCalled = true; beginAcceptCalled = true;
Socket socket = m_listener.EndAcceptSocket(ar); Socket socket = m_listener.EndAcceptSocket(ar);
if (!socket.Connected)
{
socket.Dispose();
return;
}
if (!OnAcceptingSocket(socket)) if (!OnAcceptingSocket(socket))
{ {
@ -147,6 +152,9 @@ namespace OSHttpServer
return; return;
} }
if(socket.Connected)
{
m_logWriter.Write(this, LogPrio.Debug, "Accepted connection from: " + socket.RemoteEndPoint); m_logWriter.Write(this, LogPrio.Debug, "Accepted connection from: " + socket.RemoteEndPoint);
if (m_certificate != null) if (m_certificate != null)
@ -154,6 +162,9 @@ namespace OSHttpServer
else else
m_contextFactory.CreateContext(socket); m_contextFactory.CreateContext(socket);
} }
else
socket.Dispose();
}
catch (Exception err) catch (Exception err)
{ {
m_logWriter.Write(this, LogPrio.Debug, err.Message); m_logWriter.Write(this, LogPrio.Debug, err.Message);