]> 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)
committerAmos Jeffries <yadij@users.noreply.github.com>
Tue, 10 May 2022 08:00:04 +0000 (20:00 +1200)
commit79ff41c6f2cd5c0dbef15929566d3d72da83eb64
tree775ef330880253e120022ced11db5f9366377789
parentf77f6f55ddb8530eba36a425440cd62fd571da7b
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