diff options
| author | dkanada <dkanada@users.noreply.github.com> | 2019-11-02 02:07:20 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-02 02:07:20 +0900 |
| commit | 48a99366b6bd0fea13fb40c6c16374052d5adb6d (patch) | |
| tree | b8a24e6870e818e61d585f4c71ae6346d8ab2d07 /Emby.Server.Implementations/EntryPoints | |
| parent | 89a21c96c05dd89ff2d2bd5926d0f98c6ef0db9b (diff) | |
| parent | 5e0858d13fb9343e53b03c93739b87fdd6087ecf (diff) | |
Merge pull request #1789 from Bond-009/deps
Update deps and add MultiThreading analyzer
Diffstat (limited to 'Emby.Server.Implementations/EntryPoints')
| -rw-r--r-- | Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index f26a70586..d55dc2f18 100644 --- a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -27,6 +27,11 @@ namespace Emby.Server.Implementations.EntryPoints private NatManager _natManager; + private readonly object _createdRulesLock = new object(); + private List<string> _createdRules = new List<string>(); + private readonly object _usnsHandledLock = new object(); + private List<string> _usnsHandled = new List<string>(); + public ExternalPortForwarding(ILoggerFactory loggerFactory, IServerApplicationHost appHost, IServerConfigurationManager config, IDeviceDiscovery deviceDiscovery, IHttpClient httpClient) { _logger = loggerFactory.CreateLogger("PortMapper"); @@ -127,12 +132,13 @@ namespace Emby.Server.Implementations.EntryPoints return; } - lock (_usnsHandled) + lock (_usnsHandledLock) { if (_usnsHandled.Contains(identifier)) { return; } + _usnsHandled.Add(identifier); } @@ -186,11 +192,12 @@ namespace Emby.Server.Implementations.EntryPoints private void ClearCreatedRules(object state) { - lock (_createdRules) + lock (_createdRulesLock) { _createdRules.Clear(); } - lock (_usnsHandled) + + lock (_usnsHandledLock) { _usnsHandled.Clear(); } @@ -216,8 +223,6 @@ namespace Emby.Server.Implementations.EntryPoints } } - private List<string> _createdRules = new List<string>(); - private List<string> _usnsHandled = new List<string>(); private async void CreateRules(INatDevice device) { if (_disposed) @@ -231,7 +236,7 @@ namespace Emby.Server.Implementations.EntryPoints var addressString = address.ToString(); - lock (_createdRules) + lock (_createdRulesLock) { if (!_createdRules.Contains(addressString)) { |
