diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/sqlalchemy/pool.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index fa9582010..a5b06f63a 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -536,7 +536,8 @@ class SingletonThreadPool(Pool): def _cleanup(self): while len(self._all_conns) > self.size: - self._all_conns.pop() + c = self._all_conns.pop() + c.close() def status(self): return "SingletonThreadPool id:%d size: %d" % \ @@ -655,6 +656,7 @@ class QueuePool(Pool): try: self._pool.put(conn, False) except sqla_queue.Full: + conn.close() if self._overflow_lock is None: self._overflow -= 1 else: |