From 6847cac829b34963467cfed6c9cb39c84d1582fb Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 22 Feb 2017 15:58:02 -0500 Subject: update recording conversion --- .../EntryPoints/ExternalPortForwarding.cs | 26 +++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'Emby.Server.Core/EntryPoints') diff --git a/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Core/EntryPoints/ExternalPortForwarding.cs index eb3a714652..2c7e6a4870 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(); + 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); } } -- cgit v1.2.3