mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-12-24 10:24:35 +00:00
server : hit Ctrl+C twice to exit (#5734)
* server: twice ctrl+C to exit * std::atomic_flag * sigint: message * sigint: stderr * Update examples/server/server.cpp Co-authored-by: Jared Van Bortel <cebtenzzre@gmail.com> --------- Co-authored-by: Jared Van Bortel <cebtenzzre@gmail.com>
This commit is contained in:
parent
adcb12a9ba
commit
a693bea1e6
@ -2772,7 +2772,16 @@ static void append_to_generated_text_from_generated_token_probs(llama_server_con
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::function<void(int)> shutdown_handler;
|
std::function<void(int)> shutdown_handler;
|
||||||
inline void signal_handler(int signal) { shutdown_handler(signal); }
|
std::atomic_flag is_terminating = ATOMIC_FLAG_INIT;
|
||||||
|
inline void signal_handler(int signal) {
|
||||||
|
if (is_terminating.test_and_set()) {
|
||||||
|
// in case it hangs, we can force terminate the server by hitting Ctrl+C twice
|
||||||
|
// this is for better developer experience, we can remove when the server is stable enough
|
||||||
|
fprintf(stderr, "Received second interrupt, terminating immediately.\n");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
shutdown_handler(signal);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user