From 19290ed05142372914731a916e14df7c1d02e0d9 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Fri, 20 Mar 2009 00:51:54 +0000 Subject: [PATCH] Fixed database backend creation for Python 2.3. Previously on "things we changed in the recent past".... the database connection setup was changed. People were happy. Except for those running on Python 2.3. We had completely broken Django on Python 2.3. Turns out, this is due to a long-standing bug in the _threading_local module that interacts with object creation in 2.3. Interestingly, although the bug remains in Python 2.4 and 2.5, they don't trip over it for reasons I don't entirely understand at the moment. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10096 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/utils/_threading_local.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/django/utils/_threading_local.py b/django/utils/_threading_local.py index bf9a25753a..08dae53dca 100644 --- a/django/utils/_threading_local.py +++ b/django/utils/_threading_local.py @@ -145,8 +145,8 @@ class _localbase(object): object.__setattr__(self, '_local__args', (args, kw)) object.__setattr__(self, '_local__lock', RLock()) - if args or kw and (cls.__init__ is object.__init__): - raise TypeError("Initialization arguments are not supported") + if (args or kw) and (cls.__init__ is object.__init__): + raise TypeError("Initialization arguments are not supported: %r, %r, %r" % (args, kw, cls.__init__ is object.__init__)) # We need to create the thread dict in anticipation of # __init__ being called, to make sure we don't call it