From 8e71026f5f4f71b8175690f4dce7a3629367737f Mon Sep 17 00:00:00 2001 From: pgen Date: Wed, 6 Mar 2019 23:05:51 +0100 Subject: Fix SIGINT handling --- smenu.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/smenu.c b/smenu.c index d181d64..9632cf9 100644 --- a/smenu.c +++ b/smenu.c @@ -6321,12 +6321,13 @@ main(int argc, char * argv[]) void sig_handler(int s); - /* Ignore SIGTTIN and SIGTTOU */ - /* """""""""""""""""""""""""" */ + /* Ignore SIGTTIN and SIGINT */ + /* """"""""""""""""""""""""" */ sigset_t sigs, oldsigs; sigemptyset(&sigs); sigaddset(&sigs, SIGTTIN); + sigaddset(&sigs, SIGINT); sigprocmask(SIG_BLOCK, &sigs, &oldsigs); sa.sa_handler = sig_handler; @@ -9082,7 +9083,7 @@ main(int argc, char * argv[]) case 3: /* ^C */ /* q or Q of ^C has been pressed */ /* """"""""""""""""""""""""""""" */ - if (search_mode != NONE) + if (search_mode != NONE && buffer[0] != 3) goto special_cmds_when_searching; { -- cgit v1.2.3