Mailing List Archive

#1848: vev's asynchronous signal handling poses problems for manager process
#1848: vev's asynchronous signal handling poses problems for manager process
------------------------+----------------------
Reporter: dho | Type: defect
Status: new | Priority: normal
Milestone: | Component: varnishd
Version: trunk | Severity: minor
Keywords: vev signal |
------------------------+----------------------
Long version is available at [https://www.varnish-
cache.org/lists/pipermail/varnish-dev/2016-January/008758.html]

Vev handles signals by recording them, and processing them as "events"
asynchronously in its main event loop. When consumers of vev use syscalls
that cannot be restarted, the behavior they should exhibit is unclear
(consider the manager getting SIGCHLD while waiting for a CLI response,
perhaps).

In particular, the manager process receiving a signal while waiting for a
response from a stuck CLI can cause both the manager and child processes
to hang indefinitely. Depending on the state of the system, behaviors
range from "works as expected" to CLI desync to hung processes.

Not sure what the best strategy for patching is; the issue probably
doesn't matter much. The best thing I've come up with so far is to have a
flag on vevsig that allows one to force vev to handle that signal
synchronously. Thoughts?

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1848>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs