Mercurial > hg > nginx-quic
comparison src/http/ngx_http_core_module.c @ 4042:d9b486dbf7e5 stable-1.0
Merge of r3982, r3984, r3985, r3991:
Lingering closing related fixes:
*) lingering_close "off|on|always"
*) enable lingering close for pipelined requests
*) do not send RST on normal lingering close read timeout,
if reset_timedout_connection is on
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 29 Aug 2011 12:45:03 +0000 |
parents | 0094c8636d5f |
children | fb1375e8b68c |
comparison
equal
deleted
inserted
replaced
4041:f87edc142316 | 4042:d9b486dbf7e5 |
---|---|
125 { ngx_string("any"), NGX_HTTP_SATISFY_ANY }, | 125 { ngx_string("any"), NGX_HTTP_SATISFY_ANY }, |
126 { ngx_null_string, 0 } | 126 { ngx_null_string, 0 } |
127 }; | 127 }; |
128 | 128 |
129 | 129 |
130 static ngx_conf_enum_t ngx_http_core_lingering_close[] = { | |
131 { ngx_string("off"), NGX_HTTP_LINGERING_OFF }, | |
132 { ngx_string("on"), NGX_HTTP_LINGERING_ON }, | |
133 { ngx_string("always"), NGX_HTTP_LINGERING_ALWAYS }, | |
134 { ngx_null_string, 0 } | |
135 }; | |
136 | |
137 | |
130 static ngx_conf_enum_t ngx_http_core_if_modified_since[] = { | 138 static ngx_conf_enum_t ngx_http_core_if_modified_since[] = { |
131 { ngx_string("off"), NGX_HTTP_IMS_OFF }, | 139 { ngx_string("off"), NGX_HTTP_IMS_OFF }, |
132 { ngx_string("exact"), NGX_HTTP_IMS_EXACT }, | 140 { ngx_string("exact"), NGX_HTTP_IMS_EXACT }, |
133 { ngx_string("before"), NGX_HTTP_IMS_BEFORE }, | 141 { ngx_string("before"), NGX_HTTP_IMS_BEFORE }, |
134 { ngx_null_string, 0 } | 142 { ngx_null_string, 0 } |
529 NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS, | 537 NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS, |
530 ngx_http_core_internal, | 538 ngx_http_core_internal, |
531 NGX_HTTP_LOC_CONF_OFFSET, | 539 NGX_HTTP_LOC_CONF_OFFSET, |
532 0, | 540 0, |
533 NULL }, | 541 NULL }, |
542 | |
543 { ngx_string("lingering_close"), | |
544 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | |
545 ngx_conf_set_enum_slot, | |
546 NGX_HTTP_LOC_CONF_OFFSET, | |
547 offsetof(ngx_http_core_loc_conf_t, lingering_close), | |
548 &ngx_http_core_lingering_close }, | |
534 | 549 |
535 { ngx_string("lingering_time"), | 550 { ngx_string("lingering_time"), |
536 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, | 551 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, |
537 ngx_conf_set_msec_slot, | 552 ngx_conf_set_msec_slot, |
538 NGX_HTTP_LOC_CONF_OFFSET, | 553 NGX_HTTP_LOC_CONF_OFFSET, |
3257 clcf->limit_rate = NGX_CONF_UNSET_SIZE; | 3272 clcf->limit_rate = NGX_CONF_UNSET_SIZE; |
3258 clcf->limit_rate_after = NGX_CONF_UNSET_SIZE; | 3273 clcf->limit_rate_after = NGX_CONF_UNSET_SIZE; |
3259 clcf->keepalive_timeout = NGX_CONF_UNSET_MSEC; | 3274 clcf->keepalive_timeout = NGX_CONF_UNSET_MSEC; |
3260 clcf->keepalive_header = NGX_CONF_UNSET; | 3275 clcf->keepalive_header = NGX_CONF_UNSET; |
3261 clcf->keepalive_requests = NGX_CONF_UNSET_UINT; | 3276 clcf->keepalive_requests = NGX_CONF_UNSET_UINT; |
3277 clcf->lingering_close = NGX_CONF_UNSET_UINT; | |
3262 clcf->lingering_time = NGX_CONF_UNSET_MSEC; | 3278 clcf->lingering_time = NGX_CONF_UNSET_MSEC; |
3263 clcf->lingering_timeout = NGX_CONF_UNSET_MSEC; | 3279 clcf->lingering_timeout = NGX_CONF_UNSET_MSEC; |
3264 clcf->resolver_timeout = NGX_CONF_UNSET_MSEC; | 3280 clcf->resolver_timeout = NGX_CONF_UNSET_MSEC; |
3265 clcf->reset_timedout_connection = NGX_CONF_UNSET; | 3281 clcf->reset_timedout_connection = NGX_CONF_UNSET; |
3266 clcf->server_name_in_redirect = NGX_CONF_UNSET; | 3282 clcf->server_name_in_redirect = NGX_CONF_UNSET; |
3473 prev->keepalive_timeout, 75000); | 3489 prev->keepalive_timeout, 75000); |
3474 ngx_conf_merge_sec_value(conf->keepalive_header, | 3490 ngx_conf_merge_sec_value(conf->keepalive_header, |
3475 prev->keepalive_header, 0); | 3491 prev->keepalive_header, 0); |
3476 ngx_conf_merge_uint_value(conf->keepalive_requests, | 3492 ngx_conf_merge_uint_value(conf->keepalive_requests, |
3477 prev->keepalive_requests, 100); | 3493 prev->keepalive_requests, 100); |
3494 ngx_conf_merge_uint_value(conf->lingering_close, | |
3495 prev->lingering_close, NGX_HTTP_LINGERING_ON); | |
3478 ngx_conf_merge_msec_value(conf->lingering_time, | 3496 ngx_conf_merge_msec_value(conf->lingering_time, |
3479 prev->lingering_time, 30000); | 3497 prev->lingering_time, 30000); |
3480 ngx_conf_merge_msec_value(conf->lingering_timeout, | 3498 ngx_conf_merge_msec_value(conf->lingering_timeout, |
3481 prev->lingering_timeout, 5000); | 3499 prev->lingering_timeout, 5000); |
3482 ngx_conf_merge_msec_value(conf->resolver_timeout, | 3500 ngx_conf_merge_msec_value(conf->resolver_timeout, |