Commit c66a5a26 authored by Nils Goroll's avatar Nils Goroll

Handle sigbus like sigsegv

For the purpose of our signal handler (and, in particular, the stack
overflow detection heuristic) they are identical.

Fixes #2695 (as confirmed by @lkarsten)
parent ccdfb595
......@@ -243,9 +243,10 @@ child_signal_handler(int s, siginfo_t *si, void *c)
memset(&sa, 0, sizeof sa);
sa.sa_handler = SIG_DFL;
(void)sigaction(SIGSEGV, &sa, NULL);
(void)sigaction(SIGBUS, &sa, NULL);
(void)sigaction(SIGABRT, &sa, NULL);
while (s == SIGSEGV) {
while (s == SIGSEGV || s == SIGBUS) {
req = THR_GetRequest();
if (req == NULL || req->wrk == NULL)
break;
......
......@@ -76,7 +76,7 @@ client c2 -connect ${v2_sock} {
expect_close
} -run
varnish v2 -cliexpect "Segmentation [fF]ault" "panic.show"
varnish v2 -cliexpect "[bB]us error|Segmentation [fF]ault" "panic.show"
varnish v2 -cliok "panic.clear"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment