Explorar o código

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

Anders Thomsen %!s(int64=6) %!d(string=hai) anos
pai
achega
7bb8985f11
Modificáronse 1 ficheiros con 5 adicións e 5 borrados
  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)