mirror of
https://github.com/Expand-sys/CCash
synced 2026-03-22 12:37:08 +11:00
fixed
This commit is contained in:
parent
2e05197791
commit
2083e57d13
1 changed files with 50 additions and 50 deletions
100
main.cpp
100
main.cpp
|
|
@ -23,61 +23,61 @@ void SaveSig(int s)
|
|||
int main(int argc, char **argv)
|
||||
{
|
||||
static_assert(pre_log_size <= max_log_size, "`max_log_size` must be larger than `pre_log_size`.");
|
||||
if constexpr (!(max_log_size % pre_log_size) && max_log_size)
|
||||
if constexpr (max_log_size)
|
||||
{
|
||||
std::cerr << "`max_log_size` must be a multiple of `pre_log_size`.\n";
|
||||
if (max_log_size % pre_log_size)
|
||||
{
|
||||
std::cerr << "`max_log_size` must be a multiple of `pre_log_size`.";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (argc != 4)
|
||||
{
|
||||
std::cerr << "Usage: sudo ./bank <admin password> <saving frequency in minutes> <threads>\n";
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
if (geteuid() != 0)
|
||||
{
|
||||
|
||||
if (argc != 4)
|
||||
{
|
||||
std::cerr << "Usage: sudo ./bank <admin password> <saving frequency in minutes> <threads>\n";
|
||||
return 0;
|
||||
}
|
||||
if (geteuid() != 0)
|
||||
{
|
||||
std::cerr << "ERROR: CCash MUST be ran as root\n";
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Loading users from users.json
|
||||
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
|
||||
bank.admin_pass = argv[1];
|
||||
|
||||
//Auto Saving
|
||||
const unsigned long saving_freq = std::stoul(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));
|
||||
bank.Save();
|
||||
std::cout << "Saving " << duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count() << '\n';
|
||||
}
|
||||
}).detach();
|
||||
}
|
||||
|
||||
auto API = std::make_shared<BankF>();
|
||||
app().registerPostHandlingAdvice(
|
||||
[](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) {
|
||||
resp->addHeader("Access-Control-Allow-Origin", "*");
|
||||
});
|
||||
app().loadConfigFile("../config.json").registerController(API).setThreadNum(std::stoul(argv[3])).run();
|
||||
std::cerr << "ERROR: CCash MUST be ran as root\n";
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Loading users from users.json
|
||||
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
|
||||
bank.admin_pass = argv[1];
|
||||
|
||||
//Auto Saving
|
||||
const unsigned long saving_freq = std::stoul(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));
|
||||
bank.Save();
|
||||
std::cout << "Saving " << duration_cast<milliseconds>(system_clock::now().time_since_epoch()).count() << '\n';
|
||||
}
|
||||
}).detach();
|
||||
}
|
||||
|
||||
auto API = std::make_shared<BankF>();
|
||||
app().registerPostHandlingAdvice(
|
||||
[](const drogon::HttpRequestPtr &req, const drogon::HttpResponsePtr &resp) {
|
||||
resp->addHeader("Access-Control-Allow-Origin", "*");
|
||||
});
|
||||
app().loadConfigFile("../config.json").registerController(API).setThreadNum(std::stoul(argv[3])).run();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue