summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/pool
diff options
context:
space:
mode:
authorHeckad <heckad@yandex.ru>2020-01-01 14:47:01 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2020-01-03 13:09:46 -0500
commita076b1f30406cbb59a55e2c01ddd17a84636778e (patch)
treebb4c5a5b88d45963040842427d73f9616465bdb0 /lib/sqlalchemy/pool
parent748bf710fdeeed327933a5e7c277c7f79f6053a6 (diff)
downloadsqlalchemy-a076b1f30406cbb59a55e2c01ddd17a84636778e.tar.gz
Use context managers for threading.Lock()
(zzzeek:) For some reason I thought that threading.Lock() still did not support context managers, at least in Python 2, however this does not seem to be the case. Co-authored-by: Mike Bayer <mike_mp@zzzcomputing.com> Closes: #5069 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5069 Pull-request-sha: efeac06dda5afdbe33abcf9b27c8b5b5725c8444 Change-Id: Ic64fcd99cd587bc70b4ecc5b45d8205b5c76eff2
Diffstat (limited to 'lib/sqlalchemy/pool')
-rw-r--r--lib/sqlalchemy/pool/dbapi_proxy.py5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/sqlalchemy/pool/dbapi_proxy.py b/lib/sqlalchemy/pool/dbapi_proxy.py
index d78d85d1f..77f567515 100644
--- a/lib/sqlalchemy/pool/dbapi_proxy.py
+++ b/lib/sqlalchemy/pool/dbapi_proxy.py
@@ -104,8 +104,7 @@ class _DBProxy(object):
try:
return self.pools[key]
except KeyError:
- self._create_pool_mutex.acquire()
- try:
+ with self._create_pool_mutex:
if key not in self.pools:
kw.pop("sa_pool_key", None)
pool = self.poolclass(
@@ -115,8 +114,6 @@ class _DBProxy(object):
return pool
else:
return self.pools[key]
- finally:
- self._create_pool_mutex.release()
def connect(self, *args, **kw):
"""Activate a connection to the database.