From 8c911675c78b921f431a643f3191735cb2283faa Mon Sep 17 00:00:00 2001 From: EntireTwix Date: Mon, 22 Nov 2021 17:04:45 -0800 Subject: [PATCH] :sparkles: SIGTERM and other signal handling --- main.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/main.cpp b/main.cpp index 0dbed28..96bbebc 100644 --- a/main.cpp +++ b/main.cpp @@ -79,11 +79,9 @@ int main(int argc, char **argv) //Sig handling struct sigaction sigIntHandler; - sigIntHandler.sa_handler = SaveSig; sigemptyset(&sigIntHandler.sa_mask); sigIntHandler.sa_flags = 0; - sigaction(SIGINT, &sigIntHandler, NULL); //Admin account @@ -93,14 +91,15 @@ int main(int argc, char **argv) const unsigned long saving_freq = std::stoul(std::string(argv[2])); if (saving_freq) //if saving frequency is 0 then auto saving is turned off { - std::thread([saving_freq]() { - while (1) - { - std::this_thread::sleep_for(std::chrono::minutes(saving_freq)); - std::cout << "Saving " << std::time(0) << "...\n" - << Bank::Save(); - } - }) + std::thread([saving_freq]() + { + while (1) + { + std::this_thread::sleep_for(std::chrono::minutes(saving_freq)); + std::cout << "Saving " << std::time(0) << "...\n" + << Bank::Save(); + } + }) .detach(); } } //destroying setup variables @@ -112,5 +111,7 @@ int main(int argc, char **argv) #endif .run(); + SaveSig(0); + return 0; }