converts SIGQUIT into SIGABRT in the daemon

This commit is contained in:
Joe Bryan 2019-08-01 17:14:44 -07:00
parent ddc298bd3d
commit 0a1c4d24c3
2 changed files with 20 additions and 3 deletions

View File

@ -509,10 +509,10 @@ _stop_exit(c3_i int_i)
u3_daemon_bail(); u3_daemon_bail();
} }
/* _stop_trace(): print trace on SIGABRT. /* _stop_signal(): handle termination signal.
*/ */
static void static void
_stop_trace(c3_i int_i) _stop_signal(c3_i int_i)
{ {
// if we have a pier, unmap the event log before dumping core // if we have a pier, unmap the event log before dumping core
// //
@ -673,7 +673,7 @@ main(c3_i argc,
// Cleanup on SIGABRT. // Cleanup on SIGABRT.
// //
signal(SIGABRT, _stop_trace); signal(SIGABRT, _stop_signal);
printf("~\n"); printf("~\n");
// printf("welcome.\n"); // printf("welcome.\n");

View File

@ -750,6 +750,19 @@ _daemon_sign_init(void)
sig_u->nex_u = u3_Host.sig_u; sig_u->nex_u = u3_Host.sig_u;
u3_Host.sig_u = sig_u; u3_Host.sig_u = sig_u;
} }
// handle SIGQUIT (turn it into SIGABRT)
//
{
u3_usig* sig_u;
sig_u = c3_malloc(sizeof(u3_usig));
uv_signal_init(u3L, &sig_u->sil_u);
sig_u->num_i = SIGQUIT;
sig_u->nex_u = u3_Host.sig_u;
u3_Host.sig_u = sig_u;
}
} }
/* _daemon_sign_cb: signal callback. /* _daemon_sign_cb: signal callback.
@ -778,6 +791,10 @@ _daemon_sign_cb(uv_signal_t* sil_u, c3_i num_i)
u3_term_ef_winc(); u3_term_ef_winc();
break; break;
} }
case SIGQUIT: {
abort();
}
} }
} }