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
This commit is contained in:
Malcolm Tredinnick 2009-03-20 00:51:54 +00:00
parent 4e7a4eda3d
commit 19290ed051
1 changed files with 2 additions and 2 deletions

View File

@ -145,8 +145,8 @@ class _localbase(object):
object.__setattr__(self, '_local__args', (args, kw)) object.__setattr__(self, '_local__args', (args, kw))
object.__setattr__(self, '_local__lock', RLock()) object.__setattr__(self, '_local__lock', RLock())
if args or kw and (cls.__init__ is object.__init__): if (args or kw) and (cls.__init__ is object.__init__):
raise TypeError("Initialization arguments are not supported") 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 # We need to create the thread dict in anticipation of
# __init__ being called, to make sure we don't call it # __init__ being called, to make sure we don't call it