diff options
-rw-r--r-- | lib/sqlalchemy/pool.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 20b61746d..a80fd3c0f 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -771,8 +771,10 @@ class QueuePool(Pool): try: self._pool.put(conn, False) except sqla_queue.Full: - self._dec_overflow() - conn.close() + try: + conn.close() + finally: + self._dec_overflow() def _do_get(self): use_overflow = self._max_overflow > -1 |