move session examination inside the lock
This commit is contained in:
parent
9c1ce92c29
commit
e3997059d2
|
@ -175,19 +175,19 @@ namespace MediaBrowser.Server.Implementations.Session
|
||||||
|
|
||||||
public async Task ReportSessionEnded(Guid sessionId)
|
public async Task ReportSessionEnded(Guid sessionId)
|
||||||
{
|
{
|
||||||
var session = GetSession(sessionId);
|
|
||||||
|
|
||||||
if (session == null)
|
|
||||||
{
|
|
||||||
throw new ArgumentException("Session not found");
|
|
||||||
}
|
|
||||||
|
|
||||||
var key = GetSessionKey(session.Client, session.ApplicationVersion, session.DeviceId);
|
|
||||||
|
|
||||||
await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
|
await _sessionLock.WaitAsync(CancellationToken.None).ConfigureAwait(false);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var session = GetSession(sessionId);
|
||||||
|
|
||||||
|
if (session == null)
|
||||||
|
{
|
||||||
|
throw new ArgumentException("Session not found");
|
||||||
|
}
|
||||||
|
|
||||||
|
var key = GetSessionKey(session.Client, session.ApplicationVersion, session.DeviceId);
|
||||||
|
|
||||||
SessionInfo removed;
|
SessionInfo removed;
|
||||||
|
|
||||||
if (_activeConnections.TryRemove(key, out removed))
|
if (_activeConnections.TryRemove(key, out removed))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user