diff options
| author | Anders Thomsen <mail@andersthomsen.dk> | 2019-02-14 21:53:04 +0100 |
|---|---|---|
| committer | Anders Thomsen <mail@andersthomsen.dk> | 2019-02-14 21:53:04 +0100 |
| commit | 7bb8985f11569905af4edbf4c47cba4d9b32c7ca (patch) | |
| tree | 733c48955855c1f1a79b07dd49cbdc968fd6a4ed /Emby.Dlna | |
| parent | 7ec42b89a024011f7d183fb2566eb389f924a4f0 (diff) | |
Fix race condition in adding dlna devices to session when the device is discovered repeatedly
Diffstat (limited to 'Emby.Dlna')
| -rw-r--r-- | Emby.Dlna/PlayTo/PlayToManager.cs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Emby.Dlna/PlayTo/PlayToManager.cs b/Emby.Dlna/PlayTo/PlayToManager.cs index 6cce312ee..28e70d046 100644 --- a/Emby.Dlna/PlayTo/PlayToManager.cs +++ b/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) |
