Application: Perform hard-shutdown after 3 Ctrl+C's

This commit is contained in:
Lion Kortlepel
2021-09-10 13:24:15 +03:00
committed by Lion
parent ffac000cd2
commit b1664bb184
2 changed files with 10 additions and 4 deletions

View File

@@ -22,10 +22,17 @@ void Application::RegisterShutdownHandler(const TShutdownHandler& Handler) {
}
}
static bool AlreadyShuttingDown = false;
void Application::GracefullyShutdown() {
static bool AlreadyShuttingDown = false;
static uint8_t ShutdownAttempts = 0;
if (AlreadyShuttingDown) {
info("already shutting down");
++ShutdownAttempts;
// hard shutdown at 2 additional tries
if (ShutdownAttempts == 2) {
info("hard shutdown forced by multiple shutdown requests");
exit(0);
}
info("already shutting down!");
return;
} else {
AlreadyShuttingDown = true;