aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Mono/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Mono/Program.cs')
-rw-r--r--MediaBrowser.Server.Mono/Program.cs21
1 files changed, 15 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs
index a9d510426..7b201e555 100644
--- a/MediaBrowser.Server.Mono/Program.cs
+++ b/MediaBrowser.Server.Mono/Program.cs
@@ -139,19 +139,28 @@ namespace MediaBrowser.Server.Mono
ApplicationTaskCompletionSource.SetResult(true);
}
- public static void Restart()
+ public static void Restart(StartupOptions startupOptions)
{
_logger.Info("Disposing app host");
_appHost.Dispose();
_logger.Info("Starting new instance");
- var args = Environment.GetCommandLineArgs()
- .Skip(1)
- .Select(NormalizeCommandLineArgument);
+ string module = startupOptions.GetOption("-restartpath");
+ string commandLineArgsString = startupOptions.GetOption("-restartargs") ?? string.Empty;
- var commandLineArgsString = string.Join(" ", args.ToArray());
- var module = Environment.GetCommandLineArgs().First();
+ if (string.IsNullOrWhiteSpace(module))
+ {
+ module = Environment.GetCommandLineArgs().First();
+ }
+ if (!startupOptions.ContainsOption("-restartargs"))
+ {
+ var args = Environment.GetCommandLineArgs()
+ .Skip(1)
+ .Select(NormalizeCommandLineArgument);
+
+ commandLineArgsString = string.Join(" ", args.ToArray());
+ }
_logger.Info("Executable: {0}", module);
_logger.Info("Arguments: {0}", commandLineArgsString);