]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
main : ctrl+C print timing in non-interactive mode (#3873)
authorGeorgi Gerganov <redacted>
Sun, 11 Feb 2024 13:35:50 +0000 (15:35 +0200)
committerGeorgi Gerganov <redacted>
Sun, 11 Feb 2024 13:35:50 +0000 (15:35 +0200)
examples/main/main.cpp

index 0ed4d79f9561340f2c87bfb42b5ffdc3b59af7af..e8ab8cbae0c9232824001de7f3751fabfa5f3667 100644 (file)
@@ -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<PHANDLER_ROUTINE>(console_ctrl_handler), true);
 #endif
+    }
 
+    if (params.interactive) {
         LOG_TEE("%s: interactive mode on.\n", __func__);
 
         if (!params.antiprompt.empty()) {