summaryrefslogtreecommitdiffstats
path: root/source/l/readline/readline-7.0-patches/readline70-003
blob: a19cae6efde810d51a085f0235f1e4d1593b8397 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
			   READLINE PATCH REPORT
			   =====================

Readline-Release: 7.0
Patch-ID: readline70-003

Bug-Reported-by:	Frédéric Brière <fbriere@fbriere.net>
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