diff options
Diffstat (limited to 'soledad/src/leap/soledad/dbwrapper.py')
-rw-r--r-- | soledad/src/leap/soledad/dbwrapper.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/soledad/src/leap/soledad/dbwrapper.py b/soledad/src/leap/soledad/dbwrapper.py index c16c4925..2a81086c 100644 --- a/soledad/src/leap/soledad/dbwrapper.py +++ b/soledad/src/leap/soledad/dbwrapper.py @@ -69,7 +69,12 @@ class SQLCipherWrapper(threading.Thread): """ # instantiate u1db args, kwargs = self._wrargs - self._db = sqlcipher.open(*args, **kwargs) + try: + self._db = sqlcipher.open(*args, **kwargs) + except Exception as exc: + logger.debug("Error in init_db: %r" % (exc,)) + self._stopped.set() + raise exc def run(self): """ @@ -79,13 +84,17 @@ class SQLCipherWrapper(threading.Thread): logger.debug("Initializing sqlcipher") end_mths = ("__end_thread", "_SQLCipherWrapper__end_thread") - self._init_db() + failed = False + try: + self._init_db() + except: + failed = True self._lock = threading.Lock() ct = 0 started = False - while True: + while not failed: if self._db is None: if started: break |