aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Core
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-02-22 16:13:57 -0500
committerGitHub <noreply@github.com>2017-02-22 16:13:57 -0500
commit8a8bf99550b8d494eb2592a6aa83f8f9ee90b71d (patch)
treeac61c73d21b55ee8186e5a86d58406e84d53630c /Emby.Server.Core
parente298968fe50fcfb331225c6a13bc2d4abcc8d9de (diff)
parent34171a7507d393d2afbe0f4dd2719f9067441e8a (diff)
Merge pull request #2483 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Core')
-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);
}
}