(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))
(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)