LibTest: Do not cleanly exit when abort() is called

Instead, do the cleanup, remove the signal handler, and abort() again.
This commit is contained in:
Ali Mohammad Pur 2021-05-26 23:03:58 +04:30 committed by Ali Mohammad Pur
parent 578bf6c45e
commit 13c1514889
Notes: sideshowbarker 2024-07-18 17:19:23 +09:00
2 changed files with 17 additions and 2 deletions

View file

@ -32,7 +32,17 @@ static StringView g_program_name { "test-js"sv };
static void handle_sigabrt(int)
{
dbgln("{}: SIGABRT received, cleaning up.", g_program_name);
cleanup_and_exit();
cleanup();
struct sigaction act;
memset(&act, 0, sizeof(act));
act.sa_flags = SA_NOCLDWAIT;
act.sa_handler = SIG_DFL;
int rc = sigaction(SIGABRT, &act, nullptr);
if (rc < 0) {
perror("sigaction");
exit(1);
}
abort();
}
int main(int argc, char** argv)