summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/pool.py6
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