aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-02-24 15:21:11 -0500
committerGitHub <noreply@github.com>2017-02-24 15:21:11 -0500
commitcd6b7f3bdc5bcbc6c68131cc40b71b68ac1b73a6 (patch)
tree48b8f6d94e3f762a486aa1c4fa6937cf23c18dee /Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs
parentc07e774ca9c0f234ec6899e17fc70301d1990290 (diff)
parent66a844e6399f1d79be8e10ea098ba6768e0d123b (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.cs26
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);
}
}