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

This commit is contained in:
Taloth Saldono 2017-06-19 23:07:11 +02:00
parent a49e37239e
commit 23552c3267
2 changed files with 16 additions and 3 deletions

View File

@ -88,11 +88,15 @@ namespace NzbDrone.Host
{
var instancePolicy = _container.Resolve<ISingleInstancePolicy>();
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();
}

View File

@ -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 Sonarr is already running.");
}
}
private bool IsAlreadyRunning()
{
return GetOtherNzbDroneProcessIds().Any();
@ -76,4 +85,4 @@ namespace NzbDrone.Host
}
}
}
}
}