From 210af0e73e6370b037105ed89776e86217fb873a Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Sat, 2 Nov 2019 10:31:14 +0100 Subject: [PATCH] Properly remove event handler --- .../EntryPoints/ExternalPortForwarding.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs index 7cf850932f..08041eb59f 100644 --- a/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs +++ b/Emby.Server.Implementations/EntryPoints/ExternalPortForwarding.cs @@ -65,23 +65,20 @@ namespace Emby.Server.Implementations.EntryPoints .ToString(); } - private async void OnConfigurationUpdated(object sender, EventArgs e) + private void OnConfigurationUpdated(object sender, EventArgs e) { if (!string.Equals(_lastConfigIdentifier, GetConfigIdentifier(), StringComparison.OrdinalIgnoreCase)) { Stop(); - await RunAsync().ConfigureAwait(false); + Start(); } } /// public Task RunAsync() { - if (_config.Configuration.EnableUPnP && _config.Configuration.EnableRemoteAccess) - { - Start(); - } + Start(); _config.ConfigurationUpdated += OnConfigurationUpdated; @@ -90,6 +87,11 @@ namespace Emby.Server.Implementations.EntryPoints private void Start() { + if (!_config.Configuration.EnableUPnP || !_config.Configuration.EnableRemoteAccess) + { + return; + } + _logger.LogDebug("Starting NAT discovery"); NatUtility.DeviceFound += OnNatUtilityDeviceFound; @@ -214,6 +216,8 @@ namespace Emby.Server.Implementations.EntryPoints return; } + _config.ConfigurationUpdated -= OnConfigurationUpdated; + Stop(); _timer = null;