Update of /project/elephant/cvsroot/elephant/src/db-bdb In directory clnet:/tmp/cvs-serv26996/src/db-bdb
Modified Files: bdb-controller.lisp Log Message: Latest changes to launching deadlock processes, all lisps supported (but not tested) except lispworks
--- /project/elephant/cvsroot/elephant/src/db-bdb/bdb-controller.lisp 2007/02/14 17:41:29 1.24 +++ /project/elephant/cvsroot/elephant/src/db-bdb/bdb-controller.lisp 2007/02/16 03:43:47 1.25 @@ -232,29 +232,29 @@ (cdr result)))
(defmethod start-deadlock-detector ((ctrl bdb-store-controller) &key (type :oldest) (time 0.1) log) - (multiple-value-bind (str errstr pid) - (launch-background-program - (second (controller-spec ctrl)) - (namestring - (make-pathname :defaults (get-user-configuration-parameter :berkeley-db-deadlock))) - :args `("-a" ,(lookup-deadlock-type type) - "-t" ,(format nil "~D" time) - ,@(when log (list "-L" (format nil "~A" log))))) + (let ((process-handle + (launch-background-program + (second (controller-spec ctrl)) + (namestring + (make-pathname :defaults (get-user-configuration-parameter :berkeley-db-deadlock))) + :args `("-a" ,(lookup-deadlock-type type) + "-t" ,(format nil "~D" time) + ,@(when log (list "-L" (format nil "~A" log))))))) (declare (ignore str errstr)) - (setf (controller-deadlock-pid ctrl) pid))) + (setf (controller-deadlock-pid ctrl) process-handle))) (defmethod stop-deadlock-detector ((ctrl bdb-store-controller)) (when (controller-deadlock-pid ctrl) (kill-background-program (controller-deadlock-pid ctrl))))
;; -;; Take advantage of release 4.4's compact storage feature. Hidden features of BDB only +;; Take advantage of release 4.4's compact storage feature. Feature of BDB only ;;
(defmethod optimize-storage ((ctrl bdb-store-controller) &key start-key stop-key (freelist-only nil) (free-space t) &allow-other-keys) - "Tell the backend to optimize storage between key values" + "Tell the backend to optimize and reclaim storage between key values" (with-buffer-streams (start stop end) (if (null start) (progn