diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-02-24 15:21:11 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-02-24 15:21:11 -0500 |
| commit | cd6b7f3bdc5bcbc6c68131cc40b71b68ac1b73a6 (patch) | |
| tree | 48b8f6d94e3f762a486aa1c4fa6937cf23c18dee /Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs | |
| parent | c07e774ca9c0f234ec6899e17fc70301d1990290 (diff) | |
| parent | 66a844e6399f1d79be8e10ea098ba6768e0d123b (diff) | |
Merge pull request #2489 from MediaBrowser/beta
Beta
Diffstat (limited to 'Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs')
| -rw-r--r-- | Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs index eb3a71465..2c7e6a487 100644 --- a/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs +++ b/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs @@ -187,7 +187,10 @@ namespace Emby.Server.Core.EntryPoints private void ClearCreatedRules(object state) { - _createdRules = new List<string>(); + lock (_createdRules) + { + _createdRules.Clear(); + } lock (_usnsHandled) { _usnsHandled.Clear(); @@ -236,16 +239,23 @@ namespace Emby.Server.Core.EntryPoints var address = device.LocalAddress.ToString(); - if (!_createdRules.Contains(address)) + lock (_createdRules) { - _createdRules.Add(address); - - var success = await CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort).ConfigureAwait(false); - - if (success) + if (!_createdRules.Contains(address)) { - await CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort).ConfigureAwait(false); + _createdRules.Add(address); } + else + { + return; + } + } + + var success = await CreatePortMap(device, _appHost.HttpPort, _config.Configuration.PublicPort).ConfigureAwait(false); + + if (success) + { + await CreatePortMap(device, _appHost.HttpsPort, _config.Configuration.PublicHttpsPort).ConfigureAwait(false); } } |
