Added try finally to semaphore release (#1469)

This commit is contained in:
David Fowler 2018-02-18 12:37:42 -08:00 committed by GitHub
parent 03ca505fb3
commit a2ac9c573e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 8 deletions

View File

@ -84,6 +84,8 @@ namespace Microsoft.AspNetCore.SignalR
public int? LocalPort => Features.Get<IHttpConnectionFeature>()?.LocalPort; public int? LocalPort => Features.Get<IHttpConnectionFeature>()?.LocalPort;
public virtual async Task WriteAsync(HubMessage message) public virtual async Task WriteAsync(HubMessage message)
{
try
{ {
await _writeLock.WaitAsync(); await _writeLock.WaitAsync();
@ -94,9 +96,12 @@ namespace Microsoft.AspNetCore.SignalR
Interlocked.Exchange(ref _lastSendTimestamp, Stopwatch.GetTimestamp()); Interlocked.Exchange(ref _lastSendTimestamp, Stopwatch.GetTimestamp());
await _connectionContext.Transport.Output.FlushAsync(CancellationToken.None); await _connectionContext.Transport.Output.FlushAsync(CancellationToken.None);
}
finally
{
_writeLock.Release(); _writeLock.Release();
} }
}
public virtual void Abort() public virtual void Abort()
{ {