READLINE PATCH REPORT ===================== Readline-Release: 8.2 Patch-ID: readline82-005 Bug-Reported-by: Simon Marchi Bug-Reference-ID: Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00005.html Bug-Description: If an application is using readline in callback mode, and a signal arrives after readline checks for it in rl_callback_read_char() but before it restores the application's signal handlers, it won't get processed until the next time the application calls rl_callback_read_char(). Readline needs to check for and resend any pending signals after restoring the application's signal handlers. Patch (apply with `patch -p0'): *** ../readline-8.2-patched/callback.c 2022-04-29 12:02:56.000000000 -0400 --- callback.c 2022-10-11 10:59:06.000000000 -0400 *************** *** 116,120 **** do { \ if (rl_persistent_signal_handlers == 0) \ ! rl_clear_signals (); \ return; \ } while (0) --- 116,123 ---- do { \ if (rl_persistent_signal_handlers == 0) \ ! { \ ! rl_clear_signals (); \ ! if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \ ! } \ return; \ } while (0) *** ../readline-8.2/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 ! 4 --- 1,3 ---- # Do not edit -- exists only for use by patch ! 5