X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fpool.lisp;h=6791a6e272368ad232d2318856248b743d74cd98;hp=b0e228f2be7b297d57a714b5e028cb23b457c91c;hb=ed3fc2379a78875cf80cdb4d000c0bfdf8806fe7;hpb=8a8ee2d7d791b7a3efaed06420802a925d16fca3 diff --git a/sql/pool.lisp b/sql/pool.lisp index b0e228f..6791a6e 100644 --- a/sql/pool.lisp +++ b/sql/pool.lisp @@ -37,7 +37,8 @@ (vector-pop (free-connections pool)))) (let ((conn (connect (connection-spec pool) :database-type (pool-database-type pool) - :if-exists :new))) + :if-exists :new + :make-default nil))) (with-process-lock ((conn-pool-lock pool) "Acquire from pool") (vector-push-extend conn (all-connections pool)) (setf (conn-pool conn) pool)) @@ -52,7 +53,8 @@ (with-process-lock ((conn-pool-lock pool) "Clear pool") (loop for conn across (all-connections pool) do (setf (conn-pool conn) nil) - (disconnect :database conn)) + ;; disconnect may error if remote side closed connection + (ignore-errors (disconnect :database conn))) (setf (fill-pointer (free-connections pool)) 0) (setf (fill-pointer (all-connections pool)) 0)) nil)