Remove CreateLinkedTokenSource

Resolves  #407
This commit is contained in:
Ben Adams 2015-11-19 21:50:10 +00:00
parent efec0feda2
commit 58d8c851c5
1 changed files with 4 additions and 8 deletions

View File

@ -43,8 +43,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
private Task _requestProcessingTask; private Task _requestProcessingTask;
private volatile bool _requestProcessingStopping; // volatile, see: https://msdn.microsoft.com/en-us/library/x13ttww7.aspx private volatile bool _requestProcessingStopping; // volatile, see: https://msdn.microsoft.com/en-us/library/x13ttww7.aspx
private volatile bool _requestAborted; private volatile bool _requestAborted;
private CancellationTokenSource _disconnectCts = new CancellationTokenSource(); private CancellationTokenSource _disconnectOrAbortedCts = new CancellationTokenSource();
private CancellationTokenSource _requestAbortCts;
private FrameRequestStream _requestBody; private FrameRequestStream _requestBody;
private FrameResponseStream _responseBody; private FrameResponseStream _responseBody;
@ -145,8 +144,6 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
} }
_prepareRequest?.Invoke(this); _prepareRequest?.Invoke(this);
_requestAbortCts?.Dispose();
} }
public void ResetResponseHeaders() public void ResetResponseHeaders()
@ -199,7 +196,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
ConnectionControl.End(ProduceEndType.SocketDisconnect); ConnectionControl.End(ProduceEndType.SocketDisconnect);
SocketInput.AbortAwaiting(); SocketInput.AbortAwaiting();
_disconnectCts.Cancel(); _disconnectOrAbortedCts.Cancel();
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -248,8 +245,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
ResponseBody = _responseBody; ResponseBody = _responseBody;
DuplexStream = new FrameDuplexStream(RequestBody, ResponseBody); DuplexStream = new FrameDuplexStream(RequestBody, ResponseBody);
_requestAbortCts = CancellationTokenSource.CreateLinkedTokenSource(_disconnectCts.Token); RequestAborted = _disconnectOrAbortedCts.Token;
RequestAborted = _requestAbortCts.Token;
var httpContext = HttpContextFactory.Create(this); var httpContext = HttpContextFactory.Create(this);
try try
@ -302,7 +298,7 @@ namespace Microsoft.AspNet.Server.Kestrel.Http
{ {
try try
{ {
_disconnectCts.Dispose(); _disconnectOrAbortedCts.Dispose();
// If _requestAborted is set, the connection has already been closed. // If _requestAborted is set, the connection has already been closed.
if (!_requestAborted) if (!_requestAborted)