]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
mod_proxy_hcheck: don't pile up health checks. PR 63010.
authorYann Ylavic <ylavic@apache.org>
Tue, 19 Jan 2021 14:16:44 +0000 (14:16 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 19 Jan 2021 14:16:44 +0000 (14:16 +0000)
commit8da28a629ead753b7098282b32aba3b91a1ef6f0
tree49246c02ebe9400ad1c428734df0a2a20bab80cd
parent2a2e5f38b029ffe767c3375ae5915111d93bbe7e
mod_proxy_hcheck: don't pile up health checks.  PR 63010.

Prevent health checks from running for a worker until the last one is fully
finished, to avoid making things worse (memory growth, #connections, ..).

This is done by zeroing worker->s->updated before scheduling the worker in the
threadpool, and resetting the time when it's finished. The scheduler then does
nothing if worker->s->updated is zero.

Also, to save some apr_time_now() calls when !HC_USE_THREADS, *baton->now is
updated in the callback and reused by the scheduler.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1885691 13f79535-47bb-0310-9956-ffa450edef68
changes-entries/proxy_hcheck_concurrent.txt [new file with mode: 0644]
modules/proxy/mod_proxy_hcheck.c