def boot(): if result.temp_dir is not None: HydrusPaths.SetEnvTempDir( result.temp_dir ) controller = None with HydrusLogger.HydrusLogger( db_dir, 'client' ) as logger: try: HydrusData.Print( 'hydrus client started' ) if not HG.twisted_is_broke: import threading threading.Thread( target = reactor.run, name = 'twisted', kwargs = { 'installSignalHandlers' : 0 } ).start() from hydrus.client import ClientController controller = ClientController.Controller( db_dir ) controller.Run() except: HydrusData.Print( 'hydrus client failed' ) import traceback HydrusData.Print( traceback.format_exc() ) finally: HG.view_shutdown = True HG.model_shutdown = True if controller is not None: controller.pubimmediate( 'wake_daemons' ) if not HG.twisted_is_broke: reactor.callFromThread( reactor.stop ) HydrusData.Print( 'hydrus client shut down' ) HG.shutdown_complete = True if HG.restart: HydrusData.RestartProcess()
controller = ClientController.Controller(db_dir) controller.Run() except: HydrusData.Print('hydrus client failed') HydrusData.Print(traceback.format_exc()) finally: HG.view_shutdown = True HG.model_shutdown = True if controller is not None: controller.pubimmediate('wake_daemons') if not HG.twisted_is_broke: reactor.callFromThread(reactor.stop) HydrusData.Print('hydrus client shut down') HG.shutdown_complete = True if HG.restart: HydrusData.RestartProcess()