|
|
@@ -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()) {
|