From ba27554bd34afeef25a4d10eb64053ba79e25dfe Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 28 Oct 2017 16:35:02 -0400 Subject: [PATCH] Tweaked SingleInstancePolicy not to cancel startup if AppData is overridden is set --- src/NzbDrone.Host/Bootstrap.cs | 10 +++++++--- src/NzbDrone.Host/SingleInstancePolicy.cs | 13 +++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/NzbDrone.Host/Bootstrap.cs b/src/NzbDrone.Host/Bootstrap.cs index 849c8e13f..77c55bcc9 100644 --- a/src/NzbDrone.Host/Bootstrap.cs +++ b/src/NzbDrone.Host/Bootstrap.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Reflection; using System.Threading; using NLog; @@ -88,11 +88,15 @@ namespace NzbDrone.Host { var instancePolicy = _container.Resolve(); - if (isService) + if (startupContext.Flags.Contains(StartupContext.TERMINATE)) { instancePolicy.KillAllOtherInstance(); } - else if (startupContext.Flags.Contains(StartupContext.TERMINATE)) + else if (startupContext.Args.ContainsKey(StartupContext.APPDATA)) + { + instancePolicy.WarnIfAlreadyRunning(); + } + else if (isService) { instancePolicy.KillAllOtherInstance(); } diff --git a/src/NzbDrone.Host/SingleInstancePolicy.cs b/src/NzbDrone.Host/SingleInstancePolicy.cs index c249241b1..0235b9845 100644 --- a/src/NzbDrone.Host/SingleInstancePolicy.cs +++ b/src/NzbDrone.Host/SingleInstancePolicy.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using NLog; @@ -10,6 +10,7 @@ namespace NzbDrone.Host { void PreventStartIfAlreadyRunning(); void KillAllOtherInstance(); + void WarnIfAlreadyRunning(); } public class SingleInstancePolicy : ISingleInstancePolicy @@ -45,6 +46,14 @@ namespace NzbDrone.Host } } + public void WarnIfAlreadyRunning() + { + if (IsAlreadyRunning()) + { + _logger.Debug("Another instance of Lidarr is already running."); + } + } + private bool IsAlreadyRunning() { return GetOtherNzbDroneProcessIds().Any(); @@ -76,4 +85,4 @@ namespace NzbDrone.Host } } } -} \ No newline at end of file +}