aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Mono
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Mono')
-rw-r--r--MediaBrowser.Server.Mono/Native/BaseMonoApp.cs2
-rw-r--r--MediaBrowser.Server.Mono/Native/NativeApp.cs7
-rw-r--r--MediaBrowser.Server.Mono/Program.cs21
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);