[gnu.bash.bug] problem with bash 0.99

andy@CSVAX.CALTECH.EDU (Andy Fyfe) (06/19/89)

[running on a sun3, sunos3.5, in a sunview window]
If you try the following:
    After the line "old_sigwinch = signal(...);" in 'readline.c'
    you add the following test:
	if (old_sigwinch == rl_handle_sigwinch)
	    abort();
    then start bash, and hit "break", bash will abort.

The trouble is that rl_handle_sigwinch will call old_sigwinch if it's
not null (or SIG_IGN).  And it happily recurses (though I haven't yet
found a way of reproducing this reliably).

In the function "rl_set_signals", we have the following:
    old_int = (Function *)signal (SIGINT, rl_signal_handler);
    if (old_int == (Function *)SIG_IGN)
      signal (old_int, SIG_IGN);
Clearly the final signal is *wrong*.