Path: csiph.com!au2pb.net!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!news.glorb.com!usenet.stanford.edu!not-for-mail From: Chet Ramey Newsgroups: gnu.bash.bug Subject: Re: Bug in bash 4.4-beta: suspending and restarting "man" program Date: Thu, 12 Nov 2015 08:32:24 -0500 Lines: 52 Approved: bug-bash@gnu.org Message-ID: References: <56334C9E.1090802@case.edu> <87611nwmi0.fsf@igel.home> <56420E51.1060601@case.edu> <56424708.3070204@case.edu> <564259E4.2020805@case.edu> <87vb99bjq1.fsf@igel.home> <56439D2E.7020001@case.edu> Reply-To: chet.ramey@case.edu NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1447335156 25818 208.118.235.17 (12 Nov 2015 13:32:36 GMT) X-Complaints-To: action@cs.stanford.edu Cc: Keith Thompson , Andreas Schwab , bug-bash@gnu.org, chet.ramey@case.edu To: Keith Thompson Envelope-to: bug-bash@gnu.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.564494E8.0346, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2015-08-12 04:07:17, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 1f14eff1e529c2260475eee10ef1658b X-Junkmail-Whitelist: YES (by domain whitelist at mpv2-2015.case.edu) X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020205.564494E9.009D,ss=1,re=0.000,fgs=0, ip=0.0.0.0, so=2015-08-12 04:07:17, dmn=2011-05-27 18:58:46 X-Mirapoint-Loop-Id: f9c8122a5ccddb441f4be75900b9c7b3 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] X-Received-From: 129.22.103.227 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com gnu.bash.bug:11871 On 11/11/15 6:16 PM, Keith Thompson wrote: > Yeah, that's fine. I will modify bash to set the original signal > dispositions to SIG_DFL in interactive shells. > > > Does that mean reverting default_tty_job_signals() in jobs.h to the > version in bash 4.3.30: > > set_signal_handler (SIGTSTP, SIG_DFL); > set_signal_handler (SIGTTIN, SIG_DFL); > set_signal_handler (SIGTTOU, SIG_DFL); > > or is there more to it than that? (I'd like to try out the change myself.) No. It means forcing the original signal disposition to SIG_DFL for the tty-generated job control signals when the shell is interactive: /* Called once in a parent process. */ void get_original_tty_job_signals () { static int fetched = 0; if (fetched == 0) { if (interactive_shell) { set_original_signal (SIGTSTP, SIG_DFL); set_original_signal (SIGTTIN, SIG_DFL); set_original_signal (SIGTTOU, SIG_DFL); } else { get_original_signal (SIGTSTP); get_original_signal (SIGTTIN); get_original_signal (SIGTTOU); } fetched = 1; } } You can use your change, if it works for you, but it just reverts the bug the bash-4.4 change fixes. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/