READLINE PATCH REPORT ===================== Readline-Release: 7.0 Patch-ID: readline70-003 Bug-Reported-by: Frédéric Brière Bug-Reference-ID: <20170120180724.7ydq7fb2hsp366dj@fabul.fbriere.net> Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2017-01/msg00002.html Bug-Description: Readline-7.0 uses pselect(2) to allow readline to handle signals that do not interrupt read(2), such as SIGALRM, before reading another character. The signal mask used in the pselect call did not take into account signals the calling application blocked before calling readline(). Patch (apply with `patch -p0'): *** ../readline-7.0-patched/input.c 2016-08-30 10:21:47.000000000 -0400 --- input.c 2017-01-23 10:21:56.000000000 -0500 *************** *** 514,517 **** --- 514,518 ---- #if defined (HAVE_PSELECT) sigemptyset (&empty_set); + sigprocmask (SIG_BLOCK, (sigset_t *)NULL, &empty_set); FD_ZERO (&readfds); FD_SET (fileno (stream), &readfds); *** ../readline-7.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 --- patchlevel 2014-03-21 08:28:40.000000000 -0400 *************** *** 1,3 **** # Do not edit -- exists only for use by patch ! 2 --- 1,3 ---- # Do not edit -- exists only for use by patch ! 3