summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-03-12 07:37:08 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2009-03-12 07:37:08 +0000
commitfdde600f42a9e5ba72f7cc0b1e84571bed477e03 (patch)
treee96877a0b235076813a8e11ced96537ef6d8e7b3
parent75cc96bc6f89360276225df81aa6cef57c626f43 (diff)
[1.0.X] Fixed #10470 -- Fixed a race condition in middleware initialization.
Thanks to Travis Terry and mrts. Backport of r10036 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@10038 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