]> git.ipfire.org Git - thirdparty/squid.git/commit
Reconfiguration orphans stateless helper connection (#842)
authorAlex Rousskov <rousskov@measurement-factory.com>
Fri, 11 Jun 2021 22:26:31 +0000 (22:26 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Wed, 16 Jun 2021 04:42:07 +0000 (04:42 +0000)
commit0efe61fd2ca13c8c7c22c80082377de6261516d6
tree0097c83ee71b4f68c1cb1f9266cdfd91acbd8bf8
parentc59baaa84bb320c7ef99275b078d5b8769b52e8f
Reconfiguration orphans stateless helper connection (#842)

The helper.cc code (ab)uses two different Connection objects with the
same FD. Properly fixing that problem requires significant work, but the
official code almost gets away with it, in part, because helper.cc, with
one exception, uses heavily customized code to "safely" close its
connections (instead of just calling conn->close() as many Squid jobs
still do). This fix replaces that single exceptional case with a
closeWritePipeSafely() call which prevents orphaning readPipe and
triggering BUG 3329 warnings. It also restores the symmetry between the
corresponding (previously buggy) stateless and (OK) statefull code.

A code merge mistake in commit b038892 created this bug AFAICT.
src/helper.cc