Tweaked SingleInstancePolicy not to cancel startup if AppData is overridden is set

pull/110/head
Qstick 7 years ago
parent d6bb4c29d0
commit ba27554bd3

@ -1,4 +1,4 @@
using System; using System;
using System.Reflection; using System.Reflection;
using System.Threading; using System.Threading;
using NLog; using NLog;
@ -88,11 +88,15 @@ namespace NzbDrone.Host
{ {
var instancePolicy = _container.Resolve<ISingleInstancePolicy>(); var instancePolicy = _container.Resolve<ISingleInstancePolicy>();
if (isService) if (startupContext.Flags.Contains(StartupContext.TERMINATE))
{ {
instancePolicy.KillAllOtherInstance(); instancePolicy.KillAllOtherInstance();
} }
else if (startupContext.Flags.Contains(StartupContext.TERMINATE)) else if (startupContext.Args.ContainsKey(StartupContext.APPDATA))
{
instancePolicy.WarnIfAlreadyRunning();
}
else if (isService)
{ {
instancePolicy.KillAllOtherInstance(); instancePolicy.KillAllOtherInstance();
} }

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using NLog; using NLog;
@ -10,6 +10,7 @@ namespace NzbDrone.Host
{ {
void PreventStartIfAlreadyRunning(); void PreventStartIfAlreadyRunning();
void KillAllOtherInstance(); void KillAllOtherInstance();
void WarnIfAlreadyRunning();
} }
public class SingleInstancePolicy : ISingleInstancePolicy 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() private bool IsAlreadyRunning()
{ {
return GetOtherNzbDroneProcessIds().Any(); return GetOtherNzbDroneProcessIds().Any();
@ -76,4 +85,4 @@ namespace NzbDrone.Host
} }
} }
} }
} }

Loading…
Cancel
Save