Author: mtredinnick
Date: 2009-03-12 02:27:47 -0500 (Thu, 12 Mar 2009)
New Revision: 10036

Modified:
   django/trunk/django/core/handlers/base.py
Log:
Fixed #10470 -- Fixed a race condition in middleware initialization.

Thanks to Travis Terry and mrts.

Modified: django/trunk/django/core/handlers/base.py
===================================================================
--- django/trunk/django/core/handlers/base.py   2009-03-12 05:32:00 UTC (rev 
10035)
+++ django/trunk/django/core/handlers/base.py   2009-03-12 07:27:47 UTC (rev 
10036)
@@ -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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to