From a076b1f30406cbb59a55e2c01ddd17a84636778e Mon Sep 17 00:00:00 2001 From: Heckad Date: Wed, 1 Jan 2020 14:47:01 -0500 Subject: 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 Closes: #5069 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5069 Pull-request-sha: efeac06dda5afdbe33abcf9b27c8b5b5725c8444 Change-Id: Ic64fcd99cd587bc70b4ecc5b45d8205b5c76eff2 --- lib/sqlalchemy/pool/dbapi_proxy.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'lib/sqlalchemy/pool/dbapi_proxy.py') 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. -- cgit v1.2.1