Author: mtredinnick
Date: 2009-03-12 02:37:08 -0500 (Thu, 12 Mar 2009)
New Revision: 10038

Modified:
   django/branches/releases/1.0.X/django/core/handlers/base.py
Log:
[1.0.X] Fixed #10470 -- Fixed a race condition in middleware initialization.

Thanks to Travis Terry and mrts.

Backport of r10036 from trunk.

Modified: django/branches/releases/1.0.X/django/core/handlers/base.py
===================================================================
--- django/branches/releases/1.0.X/django/core/handlers/base.py 2009-03-12 
07:28:22 UTC (rev 10037)
+++ django/branches/releases/1.0.X/django/core/handlers/base.py 2009-03-12 
07:37:08 UTC (rev 10038)
@@ -24,10 +24,11 @@
         """
         from django.conf import settings
         from django.core import exceptions
-        self._request_middleware = []
         self._view_middleware = []
         self._response_middleware = []
         self._exception_middleware = []
+
+        request_middleware = []
         for middleware_path in settings.MIDDLEWARE_CLASSES:
             try:
                 dot = middleware_path.rindex('.')
@@ -57,6 +58,10 @@
             if hasattr(mw_instance, 'process_exception'):
                 self._exception_middleware.insert(0, 
mw_instance.process_exception)
 
+        # We only assign to this when initialization is complete as it is used
+        # as a flag for initialization being complete.
+        self._request_middleware = request_middleware
+
     def get_response(self, request):
         "Returns an HttpResponse object for the given HttpRequest"
         from django.core import exceptions, urlresolvers


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to