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