From e464e1231d593cb147571e2e59c337d4667054eb Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 15 Feb 2013 12:37:51 +0100 Subject: [PATCH] [FIX] sql_db: closing a closed connection is not allowed in psycopg2 2.4.4 and earlier Having the connections automatically reaped by psycopg2 is not guaranteed to happen all the time, so we still need to take extra steps to forece-close them bzr revid: odo@openerp.com-20130215113751-12kwmfynyt43qs57 --- openerp/sql_db.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openerp/sql_db.py b/openerp/sql_db.py index be15bdbdc6a..a41f5e5077e 100644 --- a/openerp/sql_db.py +++ b/openerp/sql_db.py @@ -404,7 +404,9 @@ class ConnectionPool(object): cnx.reset() except psycopg2.OperationalError: self._debug('Cannot reset connection at index %d: %r', i, cnx.dsn) - cnx.close() + # psycopg2 2.4.4 and earlier do not allow closing a closed connection + if cnx.closed: + cnx.close() if cnx.closed: self._connections.pop(i)