diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 8f9c86271..2f4acf54a 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -2768,12 +2768,11 @@ static void append_to_generated_text_from_generated_token_probs(llama_server_con } std::function shutdown_handler; -static bool is_terminating = false; +std::atomic_flag is_terminating = ATOMIC_FLAG_INIT; inline void signal_handler(int signal) { - if (is_terminating) { + if (is_terminating.test_and_set()) { exit(0); // force exit the process, in case it hangs } - is_terminating = true; shutdown_handler(signal); }