To avoid unnecessary recoveries Elephant should ensure that all
stores get closed, e.g.:

diff -rN -u old-elephant-1.0/src/elephant/controller.lisp
new-elephant-1.0/src/elephant/controller.lisp
--- old-elephant-1.0/src/elephant/controller.lisp       2009-02-10 
15:50:08.581855135 +0100
+++ new-elephant-1.0/src/elephant/controller.lisp       2009-02-10 
15:50:08.638522104 +0100
@@ -795,6 +795,9 @@
   (loop for pair in *dbconnection-spec*
        do (close-store (cdr pair))))

+#+sbcl
+(push #'close-all-stores sb-ext:*exit-hooks*)
+
 (defmacro with-open-store ((spec) &body body)
   "Executes the body with an open controller,
    unconditionally closing the controller on exit."

If no one objects then I'm going to commit this. Others can add
the code for their Lisp.

Maybe we should also add a warning for all unsupported Lisps.

  Leslie

-- 
LinkedIn Profile: http://www.linkedin.com/in/polzer
Xing Profile: https://www.xing.com/profile/LeslieP_Polzer
Blog: http://blog.viridian-project.de/


_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to