1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-27 21:01:50 +03:00

A preparatory patch for MCOL-4170 Refactor services/systemd units to finish their bootstrap ...

Moving signal initialization code into separate functions.
This commit is contained in:
Alexander Barkov
2020-11-06 11:53:02 +04:00
parent d68716e423
commit ffd96d0315
6 changed files with 139 additions and 96 deletions

View File

@ -76,6 +76,27 @@ void reset(int sig)
comm->reset();
}
static void setupSignalHandlers()
{
#ifdef SIGHUP
signal(SIGHUP, reset);
#endif
signal(SIGINT, stop);
signal(SIGTERM, stop);
#ifdef SIGPIPE
signal(SIGPIPE, SIG_IGN);
#endif
struct sigaction ign;
memset(&ign, 0, sizeof(ign));
ign.sa_handler = fatalHandler;
sigaction(SIGSEGV, &ign, 0);
sigaction(SIGABRT, &ign, 0);
sigaction(SIGFPE, &ign, 0);
}
int main(int argc, char** argv)
{
// Set locale language
@ -118,21 +139,7 @@ int main(int argc, char** argv)
exit(1);
}
#ifdef SIGHUP
signal(SIGHUP, reset);
#endif
signal(SIGINT, stop);
signal(SIGTERM, stop);
#ifdef SIGPIPE
signal(SIGPIPE, SIG_IGN);
#endif
struct sigaction ign;
memset(&ign, 0, sizeof(ign));
ign.sa_handler = fatalHandler;
sigaction(SIGSEGV, &ign, 0);
sigaction(SIGABRT, &ign, 0);
sigaction(SIGFPE, &ign, 0);
setupSignalHandlers();
if (!(argc >= 3 && (arg = argv[2]) == "fg"))
err = fork();