From: Georgi Gerganov Date: Sun, 11 Feb 2024 13:35:50 +0000 (+0200) Subject: main : ctrl+C print timing in non-interactive mode (#3873) X-Git-Tag: upstream/0.0.4488~2365 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=85910c5b30f6e268321be8df044f5528a6efac52;p=pkg%2Fggml%2Fsources%2Fllama.cpp main : ctrl+C print timing in non-interactive mode (#3873) --- diff --git a/examples/main/main.cpp b/examples/main/main.cpp index 0ed4d79f..e8ab8cba 100644 --- a/examples/main/main.cpp +++ b/examples/main/main.cpp @@ -98,7 +98,7 @@ static void write_logfile( #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) || defined (_WIN32) static void sigint_handler(int signo) { if (signo == SIGINT) { - if (!is_interacting) { + if (!is_interacting && g_params->interactive) { is_interacting = true; } else { console::cleanup(); @@ -392,7 +392,8 @@ int main(int argc, char ** argv) { LOG_TEE("\n"); } - if (params.interactive) { + // ctrl+C handling + { #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) struct sigaction sigint_action; sigint_action.sa_handler = sigint_handler; @@ -405,7 +406,9 @@ int main(int argc, char ** argv) { }; SetConsoleCtrlHandler(reinterpret_cast(console_ctrl_handler), true); #endif + } + if (params.interactive) { LOG_TEE("%s: interactive mode on.\n", __func__); if (!params.antiprompt.empty()) {