diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-08-28 14:19:23 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-08-28 14:19:23 -0400 |
| commit | 234c51ea9a7898e2d14f317a30cc81e13cf2810c (patch) | |
| tree | f03a6a29a899fe652dc176de4db3352c78e5ff1a | |
| parent | 780b761456bd46fc7684a72a11afa35715f48c0b (diff) | |
3.2.30.1
| -rw-r--r-- | MediaBrowser.Server.Mono/MonoAppHost.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Server.Mono/Program.cs | 32 | ||||
| -rw-r--r-- | SharedVersion.cs | 2 |
3 files changed, 21 insertions, 17 deletions
diff --git a/MediaBrowser.Server.Mono/MonoAppHost.cs b/MediaBrowser.Server.Mono/MonoAppHost.cs index e51324ec4..ded7bb5f3 100644 --- a/MediaBrowser.Server.Mono/MonoAppHost.cs +++ b/MediaBrowser.Server.Mono/MonoAppHost.cs @@ -12,8 +12,6 @@ using MediaBrowser.IsoMounter; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using MediaBrowser.Model.System; -using MediaBrowser.Model.Updates; -using MediaBrowser.Server.Startup.Common; namespace MediaBrowser.Server.Mono { @@ -44,7 +42,7 @@ namespace MediaBrowser.Server.Mono protected override void RestartInternal() { - MainClass.Restart(StartupOptions); + MainClass.Restart(); } protected override List<Assembly> GetAssembliesWithPartsInternal() diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index 443699b5a..21278e00d 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -33,6 +33,9 @@ namespace MediaBrowser.Server.Mono private static ILogger _logger; private static IFileSystem FileSystem; + private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>(); + private static bool _restartOnShutdown; + public static void Main(string[] args) { var applicationPath = Assembly.GetEntryAssembly().Location; @@ -63,9 +66,13 @@ namespace MediaBrowser.Server.Mono } finally { - logger.Info("Shutting down"); - + _logger.Info("Disposing app host"); _appHost.Dispose(); + + if (_restartOnShutdown) + { + StartNewInstance(options); + } } } @@ -86,8 +93,6 @@ namespace MediaBrowser.Server.Mono return new ServerApplicationPaths(programDataPath, appFolderPath, Path.GetDirectoryName(applicationPath)); } - private static readonly TaskCompletionSource<bool> ApplicationTaskCompletionSource = new TaskCompletionSource<bool>(); - private static void RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, StartupOptions options) { // Allow all https requests @@ -243,11 +248,15 @@ namespace MediaBrowser.Server.Mono ApplicationTaskCompletionSource.SetResult(true); } - public static void Restart(StartupOptions startupOptions) + public static void Restart() { - _logger.Info("Disposing app host"); - _appHost.Dispose(); + _restartOnShutdown = true; + + Shutdown(); + } + private static void StartNewInstance(StartupOptions startupOptions) + { _logger.Info("Starting new instance"); string module = startupOptions.GetOption("-restartpath"); @@ -260,9 +269,9 @@ namespace MediaBrowser.Server.Mono if (!startupOptions.ContainsOption("-restartargs")) { var args = Environment.GetCommandLineArgs() - .Skip(1) - .Select(NormalizeCommandLineArgument) - .ToArray(); + .Skip(1) + .Select(NormalizeCommandLineArgument) + .ToArray(); commandLineArgsString = string.Join(" ", args); } @@ -271,9 +280,6 @@ namespace MediaBrowser.Server.Mono _logger.Info("Arguments: {0}", commandLineArgsString); Process.Start(module, commandLineArgsString); - - _logger.Info("Calling Environment.Exit"); - Environment.Exit(0); } private static string NormalizeCommandLineArgument(string arg) diff --git a/SharedVersion.cs b/SharedVersion.cs index 1fbacc73d..c32f7bb8d 100644 --- a/SharedVersion.cs +++ b/SharedVersion.cs @@ -1,3 +1,3 @@ using System.Reflection; -[assembly: AssemblyVersion("3.2.29.2")] +[assembly: AssemblyVersion("3.2.30.1")] |
