HTTP/3: fixed ngx_stat_active counter.

Previously the counter was not incremented for HTTP/3 streams, but still
decremented in ngx_http_close_connection().  There are two solutions here, one
is to increment the counter for HTTP/3 streams, and the other one is not to
decrement the counter for HTTP/3 streams.  The latter solution looks
inconsistent with ngx_stat_reading/ngx_stat_writing, which are incremented on a
per-request basis.  The change adds ngx_stat_active increment for HTTP/3
request and push streams.
This commit is contained in:
Roman Arutyunyan 2021-09-22 14:08:21 +03:00
parent 3ae914c837
commit 08dcf62f5b
2 changed files with 8 additions and 0 deletions

View File

@ -896,6 +896,10 @@ ngx_http_v3_create_push_request(ngx_http_request_t *pr, ngx_str_t *path,
return NGX_ABORT; return NGX_ABORT;
} }
#if (NGX_STAT_STUB)
(void) ngx_atomic_fetch_add(ngx_stat_active, 1);
#endif
hc = ngx_palloc(c->pool, sizeof(ngx_http_connection_t)); hc = ngx_palloc(c->pool, sizeof(ngx_http_connection_t));
if (hc == NULL) { if (hc == NULL) {
ngx_http_close_connection(c); ngx_http_close_connection(c);

View File

@ -78,6 +78,10 @@ ngx_http_v3_init(ngx_connection_t *c)
ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 init request stream"); ngx_log_debug0(NGX_LOG_DEBUG_HTTP, c->log, 0, "http3 init request stream");
#if (NGX_STAT_STUB)
(void) ngx_atomic_fetch_add(ngx_stat_active, 1);
#endif
hc = c->data; hc = c->data;
clcf = ngx_http_get_module_loc_conf(hc->conf_ctx, ngx_http_core_module); clcf = ngx_http_get_module_loc_conf(hc->conf_ctx, ngx_http_core_module);