From 6483fdf1fadf5f577fc7eef07bb4ec5c920e44f8 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Thu, 12 Mar 2009 07:27:47 +0000 Subject: [PATCH] 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 --- django/core/handlers/base.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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