From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id aedb5022 for ; Wed, 24 Apr 2019 16:14:45 +0000 (UTC) Received: (qmail 14362 invoked by alias); 24 Apr 2019 16:14:34 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 44248 Received: (qmail 26598 invoked by uid 1010); 24 Apr 2019 16:14:34 -0000 X-Qmail-Scanner-Diagnostics: from know-smtprelay-omc-2.server.virginmedia.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.101.1/25426. spamassassin: 3.4.2. Clear:RC:0(80.0.253.66):SA:0(-2.0/5.0):. Processed in 2.348941 secs); 24 Apr 2019 16:14:34 -0000 X-Envelope-From: p.w.stephenson@ntlworld.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _smtprelay.virginmedia.com designates 80.0.253.66 as permitted sender) X-Originating-IP: [86.16.88.158] X-Authenticated-User: p.w.stephenson@ntlworld.com X-Spam: 0 X-Authority: v=2.3 cv=T92iscCQ c=1 sm=1 tr=0 a=MiHCjVqLJ44lE3bxSlffFQ==:117 a=MiHCjVqLJ44lE3bxSlffFQ==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=IkcTkHD0fZMA:10 a=M1REE7Bp00Txr8np-jkA:9 a=QEXdDO2ut3YA:10 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ntlworld.com; s=meg.feb2017; t=1556122432; bh=4fi+pcYeZBz7lSNBQdnHqMAcvLi1Jae2tPAEjrv3TYY=; h=Subject:From:To:Date:In-Reply-To:References; b=Tz7QH8laccaav0OP7BhCWyAZwfgsUpCF8veax9RPk/kwDxCe00cja2W7kLoA2eW+7 +A4Np+CtTItvMadYOJC7NaPTfxNhbsNvEluaGi3rigEA5tp0cAOGkgpTHJA5zKusCl phePBNEu3JL2co+mLGb4qJcGSWb9+TIL04L5I93VNkdLFx6zqPOCJXF7HIYR1aBA32 u52TQIi2zLbEBgDjM4revMhdAycymKaJU6kS/UHqzPPREL8ChUvYHEoEdBaTXhuQN/ af/9lSlhxWO/fT6aqtSsnRmO16CdPdlCqr8GeLuUeBE5b3FZRWEc1UEku8mtN0bGAW +HKdUdR1SuxyQ== Message-ID: <457ef1932f2d33314f6dee6581f7e496613125e4.camel@ntlworld.com> Subject: Re: Why does zsh un-ignores SIGQUIT? From: Peter Stephenson To: zsh-workers@zsh.org Date: Wed, 24 Apr 2019 17:13:51 +0100 In-Reply-To: <20190424081314.bijg2xmore4bro2v@chaz.gmail.com> References: <20190424081314.bijg2xmore4bro2v@chaz.gmail.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfIMcOUdd400jLnIQPwKqgcyZovHzwZMbM54XEMwOSUIwGkA401AkIJJOcHsiU914nN5uXxWlt2rR2OqCLzjS9biQ6L27ww73wz6G3XFbRSUGjb6vpUMr uo9FlGlNvXObzt63EN/a5WmDGC4ccLjMhtCMYSgAelWbfdUcpZ3Ltwqh On Wed, 2019-04-24 at 09:13 +0100, Stephane Chazelas wrote: > $ (trap '' QUIT; grep SigIgn /proc/self/status; ./Src/zsh -c 'grep SigIgn /proc/self/status') > SigIgn: 0000000000000004 > SigIgn: 0000000000000000 > > That only seems to be happening for SIGQUIT. > > (that's from the current git HEAD) SIGQUIT is ignored internally within the shell, visible below the patched code. The shell knows if you've explicitly ignored SIGQUIT, but not if it's ignored by inheritance when the shell starts. The flag is tested in entersubsh(). pws diff --git a/Src/init.c b/Src/init.c index e7e62e2f7..2d5c3296d 100644 --- a/Src/init.c +++ b/Src/init.c @@ -1234,6 +1234,15 @@ init_signals(void) intr(); +#ifdef POSIX_SIGNALS + { + struct sigaction act; + if (!sigaction(SIGQUIT, NULL, &act) && + act.sa_handler == SIG_IGN) + sigtrapped[SIGQUIT] = ZSIG_IGNORED; + } +#endif + #ifndef QDEBUG signal_ignore(SIGQUIT); #endif