Only log connection error once
This commit is contained in:
parent
cd621509d0
commit
e5238ff383
|
|
@ -294,12 +294,17 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Http
|
||||||
{
|
{
|
||||||
lock (_contextLock)
|
lock (_contextLock)
|
||||||
{
|
{
|
||||||
// Abort the connection for any failed write
|
if (!_cancelled)
|
||||||
// Queued on threadpool so get it in as first op.
|
{
|
||||||
_connection.Abort();
|
// Abort the connection for any failed write
|
||||||
_cancelled = true;
|
// Queued on threadpool so get it in as first op.
|
||||||
|
_connection.Abort();
|
||||||
|
_cancelled = true;
|
||||||
|
|
||||||
CompleteAllWrites();
|
CompleteAllWrites();
|
||||||
|
|
||||||
|
_log.ConnectionError(_connectionId, new TaskCanceledException("Write operation canceled. Aborting connection."));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -434,17 +439,11 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Http
|
||||||
private void CompleteAllWrites()
|
private void CompleteAllWrites()
|
||||||
{
|
{
|
||||||
// Called inside _contextLock
|
// Called inside _contextLock
|
||||||
var writesToComplete = _tasksPending.Count > 0;
|
|
||||||
var bytesLeftToBuffer = _maxBytesPreCompleted - _numBytesPreCompleted;
|
var bytesLeftToBuffer = _maxBytesPreCompleted - _numBytesPreCompleted;
|
||||||
while (_tasksPending.Count > 0)
|
while (_tasksPending.Count > 0)
|
||||||
{
|
{
|
||||||
CompleteNextWrite(ref bytesLeftToBuffer);
|
CompleteNextWrite(ref bytesLeftToBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (writesToComplete)
|
|
||||||
{
|
|
||||||
_log.ConnectionError(_connectionId, new TaskCanceledException("Connetcion"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is called on the libuv event loop
|
// This is called on the libuv event loop
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue