Return SocketInput blocks out of lock

This commit is contained in:
Ben Adams 2016-05-10 01:18:24 +01:00
parent 388841c1d8
commit 0e8cbe5df6
1 changed files with 13 additions and 13 deletions

View File

@ -174,12 +174,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Http
public void ConsumingComplete(
MemoryPoolIterator consumed,
MemoryPoolIterator examined)
{
lock (_sync)
{
MemoryPoolBlock returnStart = null;
MemoryPoolBlock returnEnd = null;
lock (_sync)
{
if (!consumed.IsDefault)
{
returnStart = _head;
@ -200,6 +200,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Http
_awaitableIsNotCompleted,
_awaitableIsCompleted);
}
}
while (returnStart != returnEnd)
{
@ -213,7 +214,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Http
throw new InvalidOperationException("No ongoing consuming operation to complete.");
}
}
}
public void CompleteAwaiting()
{