MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / setupSignalHandlers

Function setupSignalHandlers

src/server.cpp:6821–6843  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6819}
6820
6821void setupSignalHandlers(void) {
6822 struct sigaction act;
6823
6824 /* When the SA_SIGINFO flag is set in sa_flags then sa_sigaction is used.
6825 * Otherwise, sa_handler is used. */
6826 sigemptyset(&act.sa_mask);
6827 act.sa_flags = 0;
6828 act.sa_handler = sigShutdownHandler;
6829 sigaction(SIGTERM, &act, NULL);
6830 sigaction(SIGINT, &act, NULL);
6831
6832 sigemptyset(&act.sa_mask);
6833 act.sa_flags = SA_NODEFER | SA_RESETHAND | SA_SIGINFO;
6834 act.sa_sigaction = sigsegvHandler;
6835 if(g_pserver->crashlog_enabled) {
6836 sigaction(SIGSEGV, &act, NULL);
6837 sigaction(SIGBUS, &act, NULL);
6838 sigaction(SIGFPE, &act, NULL);
6839 sigaction(SIGILL, &act, NULL);
6840 sigaction(SIGABRT, &act, NULL);
6841 }
6842 return;
6843}
6844
6845void removeSignalHandlers(void) {
6846 struct sigaction act;

Callers 2

initServerFunction · 0.85
updateSighandlerEnabledFunction · 0.85

Calls 1

sigactionClass · 0.70

Tested by

no test coverage detected