Skip to content

Commit

Permalink
设置手动关闭进程的优先级高于自动重启
Browse files Browse the repository at this point in the history
  • Loading branch information
lanthora committed Feb 5, 2024
1 parent 91b0b41 commit 4d8d17d
Showing 1 changed file with 21 additions and 22 deletions.
43 changes: 21 additions & 22 deletions src/main/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -146,19 +146,6 @@ struct argp config = {
.parser = parseOption,
};

volatile int exitCode = 0;
volatile bool running = true;
std::mutex mutex;
std::condition_variable condition;

void signalHandler(int signal) {
{
std::lock_guard<std::mutex> lock(mutex);
running = false;
}
condition.notify_one();
}

#if defined(_WIN32) || defined(_WIN64)

bool netStartup() {
Expand Down Expand Up @@ -241,18 +228,28 @@ std::string getVirtualMac(const std::string &name) {

} // namespace

volatile bool running = true;
std::mutex mutex;
std::condition_variable condition;

namespace Candy {
void shutdown() {
exitCode = 1;
signalHandler(SIGTERM);
{
std::lock_guard<std::mutex> lock(mutex);
running = false;
}
condition.notify_one();
}
} // namespace Candy

volatile int exitCode = 1;
void signalHandler(int signal) {
exitCode = 0;
Candy::shutdown();
}

namespace {
int serve(const struct arguments &arguments) {
exitCode = 0;
running = true;
Candy::Time::reset();

netStartup();

Expand All @@ -278,9 +275,6 @@ int serve(const struct arguments &arguments) {
client.run();
}

signal(SIGINT, signalHandler);
signal(SIGTERM, signalHandler);

{
std::unique_lock<std::mutex> lock(mutex);
condition.wait(lock, [&] { return !running; });
Expand All @@ -304,7 +298,12 @@ int main(int argc, char *argv[]) {
struct arguments arguments;
argp_parse(&config, argc, argv, 0, 0, &arguments);

while (serve(arguments) && arguments.autoRestart) {
signal(SIGINT, signalHandler);
signal(SIGTERM, signalHandler);

while (running && serve(arguments) && arguments.autoRestart) {
running = true;
Candy::Time::reset();
std::this_thread::sleep_for(std::chrono::seconds(3));
}

Expand Down

0 comments on commit 4d8d17d

Please sign in to comment.