From 5221f492ca704d75561d7729fba0fa48fd3ad0fb Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 27 Jan 2012 21:19:26 -0500 Subject: [PATCH] - [bug] Added a boolean check for the "finalize" function within the pool connection proxy's weakref callback before calling it, so that a warning isn't emitted that this function is None when the application is exiting and gc has removed the function from the module before the weakref callback was invoked. [ticket:2383] --- CHANGES | 8 ++++++++ lib/sqlalchemy/pool.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 35c61afd40..7c3c6b9f7e 100644 --- a/CHANGES +++ b/CHANGES @@ -128,6 +128,14 @@ CHANGES can cause test failures on some platforms. [ticket:2379] + - [bug] Added a boolean check for the "finalize" + function within the pool connection proxy's + weakref callback before calling it, so that a + warning isn't emitted that this function is None + when the application is exiting and gc has + removed the function from the module before the + weakref callback was invoked. [ticket:2383] + - Py3K - [bug] Fixed inappropriate usage of util.py3k flag and renamed it to util.py3k_warning, since diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 7b87cafa94..a615e8c606 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -372,7 +372,7 @@ class _ConnectionFairy(object): conn = self.connection = self._connection_record.get_connection() rec.fairy = weakref.ref( self, - lambda ref:_finalize_fairy(conn, rec, pool, ref, _echo) + lambda ref:_finalize_fairy and _finalize_fairy(conn, rec, pool, ref, _echo) ) _refs.add(rec) except: -- 2.47.2