Mercurial > hg > nginx-vendor-current
comparison src/http/modules/ngx_http_scgi_module.c @ 642:d3cf6c6b0043 NGINX_1_1_5
nginx 1.1.5
*) Feature: the "uwsgi_buffering" and "scgi_buffering" directives.
Thanks to Peter Smit.
*) Bugfix: non-cacheable responses might be cached if
"proxy_cache_bypass" directive was used.
Thanks to John Ferlito.
*) Bugfix: in HTTP/1.1 support in the ngx_http_proxy_module.
*) Bugfix: cached responses with an empty body were returned
incorrectly; the bug had appeared in 0.8.31.
*) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the
bug had appeared in 0.8.32.
*) Bugfix: in the "return" directive.
*) Bugfix: the "ssl_session_cache builtin" directive caused segmentation
fault; the bug had appeared in 1.1.1.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 05 Oct 2011 00:00:00 +0400 |
parents | 23ef0645ea57 |
children | f200748c0ac8 |
comparison
equal
deleted
inserted
replaced
641:6c19b251b926 | 642:d3cf6c6b0043 |
---|---|
92 { ngx_string("scgi_store_access"), | 92 { ngx_string("scgi_store_access"), |
93 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE123, | 93 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE123, |
94 ngx_conf_set_access_slot, | 94 ngx_conf_set_access_slot, |
95 NGX_HTTP_LOC_CONF_OFFSET, | 95 NGX_HTTP_LOC_CONF_OFFSET, |
96 offsetof(ngx_http_scgi_loc_conf_t, upstream.store_access), | 96 offsetof(ngx_http_scgi_loc_conf_t, upstream.store_access), |
97 NULL }, | |
98 | |
99 { ngx_string("scgi_buffering"), | |
100 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | |
101 ngx_conf_set_flag_slot, | |
102 NGX_HTTP_LOC_CONF_OFFSET, | |
103 offsetof(ngx_http_scgi_loc_conf_t, upstream.buffering), | |
97 NULL }, | 104 NULL }, |
98 | 105 |
99 { ngx_string("scgi_ignore_client_abort"), | 106 { ngx_string("scgi_ignore_client_abort"), |
100 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, | 107 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, |
101 ngx_conf_set_flag_slot, | 108 ngx_conf_set_flag_slot, |
410 u->reinit_request = ngx_http_scgi_reinit_request; | 417 u->reinit_request = ngx_http_scgi_reinit_request; |
411 u->process_header = ngx_http_scgi_process_status_line; | 418 u->process_header = ngx_http_scgi_process_status_line; |
412 u->abort_request = ngx_http_scgi_abort_request; | 419 u->abort_request = ngx_http_scgi_abort_request; |
413 u->finalize_request = ngx_http_scgi_finalize_request; | 420 u->finalize_request = ngx_http_scgi_finalize_request; |
414 | 421 |
415 u->buffering = 1; | 422 u->buffering = scf->upstream.buffering; |
416 | 423 |
417 u->pipe = ngx_pcalloc(r->pool, sizeof(ngx_event_pipe_t)); | 424 u->pipe = ngx_pcalloc(r->pool, sizeof(ngx_event_pipe_t)); |
418 if (u->pipe == NULL) { | 425 if (u->pipe == NULL) { |
419 return NGX_HTTP_INTERNAL_SERVER_ERROR; | 426 return NGX_HTTP_INTERNAL_SERVER_ERROR; |
420 } | 427 } |
1036 conf->upstream.intercept_errors = NGX_CONF_UNSET; | 1043 conf->upstream.intercept_errors = NGX_CONF_UNSET; |
1037 | 1044 |
1038 /* "scgi_cyclic_temp_file" is disabled */ | 1045 /* "scgi_cyclic_temp_file" is disabled */ |
1039 conf->upstream.cyclic_temp_file = 0; | 1046 conf->upstream.cyclic_temp_file = 0; |
1040 | 1047 |
1048 conf->upstream.change_buffering = 1; | |
1049 | |
1041 ngx_str_set(&conf->upstream.module, "scgi"); | 1050 ngx_str_set(&conf->upstream.module, "scgi"); |
1042 | 1051 |
1043 return conf; | 1052 return conf; |
1044 } | 1053 } |
1045 | 1054 |