Save on cntrl+c interupt

This commit is contained in:
EntireTwix 2021-05-19 13:30:19 -07:00
parent 47319ae412
commit 95bf549427

View file

@ -5,9 +5,21 @@
#include <unistd.h> #include <unistd.h>
#include "bank_f.hpp" #include "bank_f.hpp"
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
using namespace std::chrono; using namespace std::chrono;
using namespace drogon; using namespace drogon;
void SaveSig(int s)
{
bank.Save();
std::cout<<"\nSaving on close...\n";
exit(1);
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
if (argc != 4) if (argc != 4)
@ -24,6 +36,15 @@ int main(int argc, char **argv)
//Loading users from users.json //Loading users from users.json
bank.Load(); bank.Load();
//Sig handling
struct sigaction sigIntHandler;
sigIntHandler.sa_handler = SaveSig;
sigemptyset(&sigIntHandler.sa_mask);
sigIntHandler.sa_flags = 0;
sigaction(SIGINT, &sigIntHandler, NULL);
//Admin Password //Admin Password
bank.admin_pass = argv[1]; bank.admin_pass = argv[1];