public static void Close() { BaseDispatcher.Invoke(ReleaseMutex); TeraSniffer.Instance.Enabled = false; SettingsWriter.Save(); WindowManager.Dispose(); ProxyInterface.Instance.Disconnect(); //ProxyOld.CloseConnection(); UpdateManager.StopTimer(); Environment.Exit(0); }
public static void ReleaseMutex() { _running = false; BaseDispatcher.Invoke(() => { try { _mutex?.ReleaseMutex(); } catch (Exception e) { Log.F($"Failed to release mutex: {e}"); } }); }
public static void Close(bool releaseMutex = true, int code = 0) { _running = false; PacketAnalyzer.Sniffer.Enabled = false; Settings?.Save(); WindowManager.Dispose(); StubInterface.Instance.Disconnect(); Firebase.Dispose(); UpdateManager.StopTimer(); if (releaseMutex) { BaseDispatcher.Invoke(ReleaseMutex); } Environment.Exit(code); }
private static void LoadModules() { BaseDispatcher.Invoke(() => { try { ModuleLoader.LoadModules(BasePath); } catch (FileLoadException fle) { TccMessageBox.Show("TCC module loader", SR.ErrorWhileLoadingModule(fle.FileName), MessageBoxButton.OK, MessageBoxImage.Error); Close(); } catch (FileNotFoundException fnfe) { TccMessageBox.Show("TCC module loader", SR.ErrorWhileLoadingModule(Path.GetFileName(fnfe.FileName)), MessageBoxButton.OK, MessageBoxImage.Error); Close(); } }); }