diff options
Diffstat (limited to 'MediaBrowser.Server.Mono')
| -rw-r--r-- | MediaBrowser.Server.Mono/Native/BaseMonoApp.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/Native/NativeApp.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/Program.cs | 21 |
3 files changed, 20 insertions, 10 deletions
diff --git a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs index ba96ca737..3b2d14588 100644 --- a/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs +++ b/MediaBrowser.Server.Mono/Native/BaseMonoApp.cs @@ -21,7 +21,7 @@ namespace MediaBrowser.Server.Mono.Native /// <summary> /// Restarts this instance. /// </summary> - public virtual void Restart() + public virtual void Restart(StartupOptions startupOptions) { throw new NotImplementedException(); } diff --git a/MediaBrowser.Server.Mono/Native/NativeApp.cs b/MediaBrowser.Server.Mono/Native/NativeApp.cs index 8c954ffcc..cd1e78e35 100644 --- a/MediaBrowser.Server.Mono/Native/NativeApp.cs +++ b/MediaBrowser.Server.Mono/Native/NativeApp.cs @@ -1,4 +1,5 @@ - +using MediaBrowser.Server.Startup.Common; + namespace MediaBrowser.Server.Mono.Native { /// <summary> @@ -29,9 +30,9 @@ namespace MediaBrowser.Server.Mono.Native /// <summary> /// Restarts this instance. /// </summary> - public override void Restart() + public override void Restart(StartupOptions startupOptions) { - MainClass.Restart(); + MainClass.Restart(startupOptions); } } } 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); |
