summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/pool.py
diff options
context:
space:
mode:
authorndparker <ndparker@users.noreply.github.com>2014-09-23 23:28:11 +0200
committerndparker <ndparker@users.noreply.github.com>2014-09-23 23:28:11 +0200
commitce52dd9e3b71f2074d7821fe62803d4e0eefe512 (patch)
treef0f9356075b7d85469a98180d17a5e2c91c058e5 /lib/sqlalchemy/pool.py
parent360477cc3af826b5056039b9a19ec3ecb2b94ede (diff)
downloadsqlalchemy-ce52dd9e3b71f2074d7821fe62803d4e0eefe512.tar.gz
improve exception vs. exit handling
Diffstat (limited to 'lib/sqlalchemy/pool.py')
-rw-r--r--lib/sqlalchemy/pool.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py
index bc9affe4a..0c162e984 100644
--- a/lib/sqlalchemy/pool.py
+++ b/lib/sqlalchemy/pool.py
@@ -441,8 +441,8 @@ class _ConnectionRecord(object):
try:
dbapi_connection = rec.get_connection()
except:
- rec.checkin()
- raise
+ with util.safe_reraise():
+ rec.checkin()
echo = pool._should_log_debug()
fairy = _ConnectionFairy(dbapi_connection, rec, echo)
rec.fairy_ref = weakref.ref(
@@ -962,8 +962,8 @@ class QueuePool(Pool):
try:
return self._create_connection()
except:
- self._dec_overflow()
- raise
+ with util.safe_reraise():
+ self._dec_overflow()
else:
return self._do_get()