Merge pull request #17799 from fmarcac/fix/syncplay-stale-session-requests
Drop SyncPlay requests from sessions that left the group
This commit is contained in:
@@ -332,8 +332,11 @@ namespace Emby.Server.Implementations.SyncPlay
|
||||
// Group lock required as Group is not thread-safe.
|
||||
lock (group)
|
||||
{
|
||||
// Make sure that session still belongs to this group.
|
||||
if (_sessionToGroupMap.TryGetValue(session.Id, out var checkGroup) && !checkGroup.GroupId.Equals(group.GroupId))
|
||||
// Make sure that session still belongs to this group. The lookup can fail
|
||||
// outright when the session left while this request was waiting on the group
|
||||
// lock, which is exactly the case this re-check exists to catch.
|
||||
if (!_sessionToGroupMap.TryGetValue(session.Id, out var checkGroup)
|
||||
|| !checkGroup.GroupId.Equals(group.GroupId))
|
||||
{
|
||||
// Drop request.
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user