]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 5208: Part 1: Restart kids killed by SIGKILL (#1035)
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 28 Apr 2022 10:37:56 +0000 (10:37 +0000)
committerSquid Anubis <squid-anubis@squid-cache.org>
Fri, 29 Apr 2022 21:22:10 +0000 (21:22 +0000)
commit1a78f6e83aa5fa3cbc64e9e72c5c9e5367128150
tree36fd8925e6b8897d87fba04a71d42b13d2ab3b53
parent9f83a2b5ce21a3c918cd366cb60439ac2eced8ed
Bug 5208: Part 1: Restart kids killed by SIGKILL (#1035)

OOM killer uses SIGKILL. Squid did not restart kids killed by SIGKILL.
Kids are essential Squid components. Essential components should be
revived (by default) because providing a service without an essential
component would violate Squid functionality requirements.

Squid did not revive a kid killed by SIGKILL because we thought that
doing so will interfere with the "squid -k kill" feature that uses that
signal to kill the whole Squid instance. However, that feature does not
actually work[^1] -- the signal is sent to (and kills) the master
process only, the process which PID is in squid.pid file. This change is
orthogonal to fixing "squid -k kill" (a difficult out-of-scope project).

[^1]: Except in the special case of the no-daemon (squid -N) mode.
src/ipc/Kid.cc
src/main.cc