From: Fredrik Tolf Date: Fri, 24 Jul 2015 16:04:14 +0000 (+0200) Subject: Registed datastore environments with atexit. X-Git-Url: http://dolda2000.com/gitweb/?p=didex.git;a=commitdiff_plain;h=a19ad473ae0a534f454dadacb01d8252ab51c21f Registed datastore environments with atexit. --- diff --git a/didex/store.py b/didex/store.py index cc97a5b..a9bf0cd 100644 --- a/didex/store.py +++ b/didex/store.py @@ -1,4 +1,4 @@ -import threading, pickle, inspect +import threading, pickle, inspect, atexit from . import db, index, cache from .db import txnfun @@ -22,11 +22,13 @@ class environment(object): if self.path is None: self.path = self.getpath() self.bk = db.environment(self.path, recover=self.recover) + atexit.register(self.close) return self.bk def close(self): with self.lk: if self.bk is not None: + atexit.unregister(self.close) self.bk.close() self.bk = None