move session examination inside the lock

This commit is contained in:
Luke Pulverenti 2014-03-09 22:40:27 -04:00
parent 9c1ce92c29
commit e3997059d2

View File

@ -174,6 +174,10 @@ namespace MediaBrowser.Server.Implementations.Session
} }
public async Task ReportSessionEnded(Guid sessionId) public async Task ReportSessionEnded(Guid sessionId)
{
await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
try
{ {
var session = GetSession(sessionId); var session = GetSession(sessionId);
@ -184,10 +188,6 @@ namespace MediaBrowser.Server.Implementations.Session
var key = GetSessionKey(session.Client, session.ApplicationVersion, session.DeviceId); var key = GetSessionKey(session.Client, session.ApplicationVersion, session.DeviceId);
await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
try
{
SessionInfo removed; SessionInfo removed;
if (_activeConnections.TryRemove(key, out removed)) if (_activeConnections.TryRemove(key, out removed))