From b26baaaeff4cde379787e25274dff916c8303676 Mon Sep 17 00:00:00 2001 From: Maxim Poliakovski Date: Sat, 7 May 2022 23:42:33 +0200 Subject: [PATCH] CharIoStdin: disable SIGINT generation with Ctrl-C. --- devices/serial/chario.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/devices/serial/chario.cpp b/devices/serial/chario.cpp index dccdd1a..7a5b070 100644 --- a/devices/serial/chario.cpp +++ b/devices/serial/chario.cpp @@ -80,20 +80,17 @@ int CharIoStdin::rcv_enable() new_termios.c_cflag &= ~(CSIZE | PARENB); new_termios.c_cflag |= CS8; - new_termios.c_lflag &= ~(ECHO | ICANON); + new_termios.c_lflag &= ~(ECHO | ICANON | ISIG); new_termios.c_iflag &= ~(ICRNL); tcsetattr(STDIN_FILENO, TCSANOW, &new_termios); // save original signal handler for SIGINT - //struct sigaction new_act; + // then redirect SIGINT to new handler memset(&new_act, 0, sizeof(new_act)); new_act.sa_handler = mysig_handler; sigaction(SIGINT, &new_act, &old_act); - // redirect SIGINT to new handler - //signal(SIGINT, mysig_handler); - this->stdio_inited = true; return 0;