From ffb454e414340ad750629d52b43a7c3efda9781a Mon Sep 17 00:00:00 2001 From: "roberto@quantal64" Date: Thu, 6 Sep 2012 15:22:17 +0200 Subject: [PATCH] headers must be sent before close() --- plugins/python/wsgi_subhandler.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/plugins/python/wsgi_subhandler.c b/plugins/python/wsgi_subhandler.c index 14a2c638..6ffd5d9d 100644 --- a/plugins/python/wsgi_subhandler.c +++ b/plugins/python/wsgi_subhandler.c @@ -280,6 +280,11 @@ clear: Py_DECREF((PyObject *)wsgi_req->async_sendfile); } + // send the headers if not already sent + if (!wsgi_req->headers_sent && wsgi_req->headers_hvec > 0) { + uwsgi_python_do_send_headers(wsgi_req); + } + if (wsgi_req->async_placeholder) { // CALL close() ALWAYS if we are working with an iterator !!! if (PyObject_HasAttrString((PyObject *)wsgi_req->async_result, "close")) { @@ -299,12 +304,6 @@ clear: Py_DECREF((PyObject *)wsgi_req->async_placeholder); } - // send the headers if not already sent - if (!wsgi_req->headers_sent && wsgi_req->headers_hvec > 0) { - uwsgi_python_do_send_headers(wsgi_req); - } - - Py_DECREF((PyObject *)wsgi_req->async_result); PyErr_Clear();