move session examination inside the lock

pull/702/head
Luke Pulverenti 10 years ago
parent 9c1ce92c29
commit e3997059d2

@ -175,19 +175,19 @@ namespace MediaBrowser.Server.Implementations.Session
public async Task ReportSessionEnded(Guid sessionId)
{
var session = GetSession(sessionId);
await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
if (session == null)
try
{
throw new ArgumentException("Session not found");
}
var session = GetSession(sessionId);
var key = GetSessionKey(session.Client, session.ApplicationVersion, session.DeviceId);
if (session == null)
{
throw new ArgumentException("Session not found");
}
await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
var key = GetSessionKey(session.Client, session.ApplicationVersion, session.DeviceId);
try
{
SessionInfo removed;
if (_activeConnections.TryRemove(key, out removed))

Loading…
Cancel
Save