Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!CSVAX.CALTECH.EDU!andy From: andy@CSVAX.CALTECH.EDU (Andy Fyfe) Newsgroups: gnu.bash.bug Subject: problem with bash 0.99 Message-ID: <8906190402.AA18739@csvax.caltech.edu> Date: 19 Jun 89 04:02:20 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 17 [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*.