nginx-0.0.1-2003-12-15-16:57:13 import
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 6d20fdf..6d5bc0d 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -346,17 +346,17 @@
continue;
}
- if (rc == NGX_AGAIN) {
- return;
- }
-
if (rc >= NGX_HTTP_SPECIAL_RESPONSE || rc == NGX_ERROR) {
ngx_http_finalize_request(r, rc);
return;
}
- if (rc == NGX_OK && r->phase == NGX_HTTP_CONTENT_PHASE) {
- ngx_http_finalize_request(r, 0);
+ if (r->phase == NGX_HTTP_CONTENT_PHASE) {
+ ngx_http_finalize_request(r, rc);
+ return;
+ }
+
+ if (rc == NGX_AGAIN) {
return;
}
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index 50f7f93..271ed17 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -24,7 +24,7 @@
static ngx_command_t ngx_http_write_filter_commands[] = {
{ ngx_string("buffer_output"),
- NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
+ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1,
ngx_conf_set_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_write_filter_conf_t, buffer_output),