소스 검색

Fix race condition in adding dlna devices to session when the device is discovered repeatedly

Anders Thomsen 6 년 전
부모
커밋
7bb8985f11
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 5
      Emby.Dlna/PlayTo/PlayToManager.cs

+ 5 - 5
Emby.Dlna/PlayTo/PlayToManager.cs

@@ -89,11 +89,6 @@ namespace Emby.Dlna.PlayTo
                 return;
             }
 
-            if (_sessionManager.Sessions.Any(i => usn.IndexOf(i.DeviceId, StringComparison.OrdinalIgnoreCase) != -1))
-            {
-                return;
-            }
-
             var cancellationToken = _disposeCancellationTokenSource.Token;
 
             await _sessionLock.WaitAsync(cancellationToken).ConfigureAwait(false);
@@ -105,6 +100,11 @@ namespace Emby.Dlna.PlayTo
                     return;
                 }
 
+                if (_sessionManager.Sessions.Any(i => usn.IndexOf(i.DeviceId, StringComparison.OrdinalIgnoreCase) != -1))
+                {
+                    return;
+                }
+
                 await AddDevice(info, location, cancellationToken).ConfigureAwait(false);
             }
             catch (OperationCanceledException)