summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-03-12 07:27:47 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-03-12 07:27:47 +0000
commit6483fdf1fadf5f577fc7eef07bb4ec5c920e44f8 (patch)
tree2e1fccca5098aa0d48a8b27438b333c267b8f2a4
parenta1529090698c589b64ab3ed0f0ba62cd72617f5b (diff)
Fixed #10470 -- Fixed a race condition in middleware initialization.
Thanks to Travis Terry and mrts. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10036 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/core/handlers/base.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/django/core/handlers/base.py b/django/core/handlers/base.py
index b34d0e096e..3f3bf44075 100644
--- a/django/core/handlers/base.py
+++ b/django/core/handlers/base.py
@@ -24,10 +24,11 @@ class BaseHandler(object):
"""
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 @@ class BaseHandler(object):
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