diff --git a/src/basic/sigbus.c b/src/basic/sigbus.c index 8d2c73baf8..0dca7be479 100644 --- a/src/basic/sigbus.c +++ b/src/basic/sigbus.c @@ -102,7 +102,8 @@ static void sigbus_handler(int sn, siginfo_t *si, void *data) { if (si->si_code != BUS_ADRERR || !si->si_addr) { assert_se(sigaction(SIGBUS, &old_sigaction, NULL) == 0); - rt_tgsigqueueinfo(getpid_cached(), gettid(), SIGBUS, si); + if (rt_tgsigqueueinfo(getpid_cached(), gettid(), SIGBUS, si) < 0) + (void) raise(SIGBUS); return; }