Fixed some index bugs.
[didex.git] / didex / db.py
index 7435166..33eb0d8 100644 (file)
@@ -94,6 +94,15 @@ class txn(object):
     def postcommit(self, fun):
         self.pcommit.add(fun)
 
+def dloopfun(fun):
+    def wrapper(self, *args, **kwargs):
+        while True:
+            try:
+                return fun(self, *args, **kwargs)
+            except deadlock:
+                continue
+    return wrapper
+
 def txnfun(envfun):
     def fxf(fun):
         def wrapper(self, *args, tx=None, **kwargs):