Dispose socket on Accept() error.

This commit is contained in:
Cesar Blum Silveira 2015-12-14 19:42:00 -08:00
parent ada61f8181
commit 67ed24896a
4 changed files with 16 additions and 14 deletions

View File

@ -37,19 +37,19 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
protected override void OnConnection(UvStreamHandle listenSocket, int status)
{
var acceptSocket = new UvPipeHandle(Log);
acceptSocket.Init(Thread.Loop, false);
try
{
acceptSocket.Init(Thread.Loop, false);
listenSocket.Accept(acceptSocket);
DispatchConnection(acceptSocket);
}
catch (UvException ex)
{
Log.LogError("PipeListener.OnConnection", ex);
acceptSocket.Dispose();
return;
}
DispatchConnection(acceptSocket);
}
}
}

View File

@ -37,19 +37,19 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
protected override void OnConnection(UvStreamHandle listenSocket, int status)
{
var acceptSocket = new UvPipeHandle(Log);
acceptSocket.Init(Thread.Loop, false);
try
{
acceptSocket.Init(Thread.Loop, false);
listenSocket.Accept(acceptSocket);
DispatchConnection(acceptSocket);
}
catch (UvException ex)
{
Log.LogError("ListenerPrimary.OnConnection", ex);
acceptSocket.Dispose();
return;
}
DispatchConnection(acceptSocket);
}
}
}

View File

@ -37,20 +37,21 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
protected override void OnConnection(UvStreamHandle listenSocket, int status)
{
var acceptSocket = new UvTcpHandle(Log);
acceptSocket.Init(Thread.Loop, Thread.QueueCloseHandle);
acceptSocket.NoDelay(NoDelay);
try
{
acceptSocket.Init(Thread.Loop, Thread.QueueCloseHandle);
acceptSocket.NoDelay(NoDelay);
listenSocket.Accept(acceptSocket);
DispatchConnection(acceptSocket);
}
catch (UvException ex)
{
Log.LogError("TcpListener.OnConnection", ex);
acceptSocket.Dispose();
return;
}
DispatchConnection(acceptSocket);
}
}
}

View File

@ -39,20 +39,21 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
protected override void OnConnection(UvStreamHandle listenSocket, int status)
{
var acceptSocket = new UvTcpHandle(Log);
acceptSocket.Init(Thread.Loop, Thread.QueueCloseHandle);
acceptSocket.NoDelay(NoDelay);
try
{
acceptSocket.Init(Thread.Loop, Thread.QueueCloseHandle);
acceptSocket.NoDelay(NoDelay);
listenSocket.Accept(acceptSocket);
DispatchConnection(acceptSocket);
}
catch (UvException ex)
{
Log.LogError("TcpListenerPrimary.OnConnection", ex);
acceptSocket.Dispose();
return;
}
DispatchConnection(acceptSocket);
}
}
}