From 9663252d10224a41bb35da006c8bd0248b98c169 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 7 Oct 2013 23:06:12 -0400 Subject: remove mutex from mono startup --- MediaBrowser.Server.Mono/Program.cs | 53 +++---------------------------------- 1 file changed, 3 insertions(+), 50 deletions(-) (limited to 'MediaBrowser.Server.Mono/Program.cs') diff --git a/MediaBrowser.Server.Mono/Program.cs b/MediaBrowser.Server.Mono/Program.cs index fddf9706d..2c2390a81 100644 --- a/MediaBrowser.Server.Mono/Program.cs +++ b/MediaBrowser.Server.Mono/Program.cs @@ -21,8 +21,6 @@ namespace MediaBrowser.Server.Mono { private static ApplicationHost _appHost; - private static Mutex _singleInstanceMutex; - private static ILogger _logger; private static MainWindow _mainWindow; @@ -45,18 +43,6 @@ namespace MediaBrowser.Server.Mono AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; - bool createdNew; - - //_singleInstanceMutex = new Mutex(true, @"Local\" + runningPath, out createdNew); - createdNew = true; - - if (!createdNew) - { - _singleInstanceMutex = null; - logger.Info("Shutting down because another instance of Media Browser Server is already running."); - return; - } - if (PerformUpdateIfNeeded(appPaths, logger)) { logger.Info("Exiting to perform application update."); @@ -71,8 +57,6 @@ namespace MediaBrowser.Server.Mono { logger.Info("Shutting down"); - ReleaseMutex(logger); - _appHost.Dispose(); } } @@ -230,24 +214,6 @@ namespace MediaBrowser.Server.Mono } } - /// - /// Releases the mutex. - /// - internal static void ReleaseMutex(ILogger logger) - { - if (_singleInstanceMutex == null) - { - return; - } - - logger.Debug("Releasing mutex"); - - _singleInstanceMutex.ReleaseMutex(); - _singleInstanceMutex.Close(); - _singleInstanceMutex.Dispose(); - _singleInstanceMutex = null; - } - /// /// Performs the update if needed. /// @@ -278,24 +244,11 @@ namespace MediaBrowser.Server.Mono public static void Restart() { - // Second instance will start first, so release the mutex and dispose the http server ahead of time - ReleaseMutex (_logger); - + // Second instance will start first, so dispose so that the http ports will be available to the new instance _appHost.Dispose(); - if (trayIcon != null) { - trayIcon.Visible = false; - trayIcon.Dispose (); - trayIcon = null; - } - - if (_mainWindow != null) { - _mainWindow.HideAll (); - _mainWindow.Dispose (); - _mainWindow = null; - } - - Application.Quit (); + // Right now this method will just shutdown, but not restart + Shutdown (); } } } -- cgit v1.2.3