From f8555e70610df47b726e20f312be5beba67f8435 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 22 Aug 2010 13:08:00 +0200 Subject: [PATCH] Create BaseThread as copy of BaseProcess but with different superclass --- mopidy/utils/process.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/mopidy/utils/process.py b/mopidy/utils/process.py index 73224840..16c07629 100644 --- a/mopidy/utils/process.py +++ b/mopidy/utils/process.py @@ -1,5 +1,6 @@ import logging import multiprocessing +import multiprocessing.dummy from multiprocessing.reduction import reduce_connection import pickle import sys @@ -37,3 +38,25 @@ class BaseProcess(multiprocessing.Process): def run_inside_try(self): raise NotImplementedError + + +class BaseThread(multiprocessing.dummy.Process): + def run(self): + logger.debug(u'%s: Starting process', self.name) + try: + self.run_inside_try() + except KeyboardInterrupt: + logger.info(u'%s: Interrupted by user', self.name) + sys.exit(0) + except SettingsError as e: + logger.error(e.message) + sys.exit(1) + except ImportError as e: + logger.error(e) + sys.exit(1) + except Exception as e: + logger.exception(e) + raise e + + def run_inside_try(self): + raise NotImplementedError