]>
Commit | Line | Data |
---|---|---|
e9ba050b AB |
1 | READLINE PATCH REPORT |
2 | ===================== | |
3 | ||
4 | Readline-Release: 8.2 | |
5 | Patch-ID: readline82-005 | |
6 | ||
7 | Bug-Reported-by: Simon Marchi <simon.marchi@polymtl.ca> | |
8 | Bug-Reference-ID: | |
9 | Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00005.html | |
10 | ||
11 | Bug-Description: | |
12 | ||
13 | If an application is using readline in callback mode, and a signal arrives | |
14 | after readline checks for it in rl_callback_read_char() but before it | |
15 | restores the application's signal handlers, it won't get processed until the | |
16 | next time the application calls rl_callback_read_char(). Readline needs to | |
17 | check for and resend any pending signals after restoring the application's | |
18 | signal handlers. | |
19 | ||
20 | Patch (apply with `patch -p0'): | |
21 | ||
22 | *** ../readline-8.2-patched/callback.c 2022-04-29 12:02:56.000000000 -0400 | |
23 | --- callback.c 2022-10-11 10:59:06.000000000 -0400 | |
24 | *************** | |
25 | *** 116,120 **** | |
26 | do { \ | |
27 | if (rl_persistent_signal_handlers == 0) \ | |
28 | ! rl_clear_signals (); \ | |
29 | return; \ | |
30 | } while (0) | |
31 | --- 116,123 ---- | |
32 | do { \ | |
33 | if (rl_persistent_signal_handlers == 0) \ | |
34 | ! { \ | |
35 | ! rl_clear_signals (); \ | |
36 | ! if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \ | |
37 | ! } \ | |
38 | return; \ | |
39 | } while (0) | |
40 | *** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 | |
41 | --- patchlevel 2014-03-21 08:28:40.000000000 -0400 | |
42 | *************** | |
43 | *** 1,3 **** | |
44 | # Do not edit -- exists only for use by patch | |
45 | ||
46 | ! 4 | |
47 | --- 1,3 ---- | |
48 | # Do not edit -- exists only for use by patch | |
49 | ||
50 | ! 5 |