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.0 required=5.0 tests=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 6f104bd5 for ; Mon, 16 Dec 2019 10:09:58 +0000 (UTC) Received: (qmail 28448 invoked by alias); 16 Dec 2019 10:09:53 -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: 45048 Received: (qmail 17074 invoked by uid 1010); 16 Dec 2019 10:09:53 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.1/25663. spamassassin: 3.4.2. Clear:RC:0(210.118.77.12):SA:0(-7.0/5.0):. Processed in 1.575165 secs); 16 Dec 2019 10:09:53 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.samsung.com designates 210.118.77.12 as permitted sender) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20191216100917euoutp02c93b63ff446cec5f82b7596b2e9a6870~g0ixMchOI2340423404euoutp02H X-AuditID: cbfec7f5-a29ff7000001ed1a-eb-5df757cd6c6d Message-ID: <1576490955.4950.2.camel@samsung.com> Subject: Re: Bug with traps and exit From: Peter Stephenson To: Date: Mon, 16 Dec 2019 10:09:15 +0000 In-Reply-To: <20191216052423.svgnhfkpsxh46a6j@tarpaulin.shahaf.local2> X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djP87pnw7/HGpz6yWxxsPkhkwOjx6qD H5gCGKO4bFJSczLLUov07RK4Mh5OWM9YMIm9Yum7u0wNjDdYuxg5OSQETCRONF1k62Lk4hAS WMEocaRvOjOE08ck8bijnwnC6WWS2PR5HyNMy73366GqljNKfP08ixGuas/r7awQziZGicdN M9khnAuMEovWHQIaxsHBK2AosegVO8goYQEViR+HDoJdwgYUnrppNtgKEQFJiWvNp8FsFgFV iVcHl4LVcwq4Sbx/No8J4gwNiQ03j4HZvAKCEidnPmEBsZkF5CWat84GO09C4D6bxIx/s6Du dpE4P/Ec1NvCEq+Ob2GHsGUk/u+czwTR0M4osWbSa3YIp4dRYtPRO1Dd1hJ9ty8ygnzALKAp sX6XPkTYUeLmn2UsIGEJAT6JG28FIY7gk5i0DRSSIGFeiY42IYhqNYkdTVsZIcIyEk/XKExg VJqF5INZSD6YhbBqASPzKkbx1NLi3PTUYuO81HK94sTc4tK8dL3k/NxNjMBkcPrf8a87GPf9 STrEKMDBqMTD65D9LVaINbGsuDL3EKMEB7OSCO8Ohe+xQrwpiZVVqUX58UWlOanFhxilOViU xHmNF72MFRJITyxJzU5NLUgtgskycXBKNTCu0v+vd+DR4lvvu4oZzk9xfr3lwoLL/Az+DPu/ 117nTO7Q2P1bIXz9ia7TC5ee/PRPxtiDh/GYvuaFn68eFbgbK17OeMKjaf9/Te2N1zXVW8Mb NmjNzN4odOj+E+4W6/Dlm7iXyRXZMXOtkODOCNAUTilykClYEmtmeup7yiaRmXuy10r4d6Qr sRRnJBpqMRcVJwIAswfgiwIDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrPLMWRmVeSWpSXmKPExsVy+t/xe7pnwr/HGrxYoGBxsPkhkwOjx6qD H5gCGKP0bIryS0tSFTLyi0tslaINLYz0DC0t9IxMLPUMjc1jrYxMlfTtbFJSczLLUov07RL0 Mh5OWM9YMIm9Yum7u0wNjDdYuxg5OSQETCTuvV/PDGILCSxllHj2zxMiLiPx6cpHdghbWOLP tS42iJpuJolb/826GLmA7E2MEmc/vIBqvsAocajXpIuRg4NXwFBi0SuwXmEBFYkfhw6C7WID Ck/dNJsRxBYRkJS41nwazGYRUJV4dXApWD2ngJvE+2fzmCDmb2eR2PXmAlgRs4CmROv231AH aUhsuHmMCcTmFRCUODnzCQtEjbxE89bZzBMYhWYhaZmFpGwWkrIFjMyrGEVSS4tz03OLjfSK E3OLS/PS9ZLzczcxAgN/27GfW3Ywdr0LPsQowMGoxMPrkP0tVog1say4MvcQowQHs5II7w6F 77FCvCmJlVWpRfnxRaU5qcWHGE2BPprILCWanA+MyrySeENTQ3MLS0NzY3NjMwslcd4OgYMx QgLpiSWp2ampBalFMH1MHJxSDYxTi65o+XKF/T/1a9NTYQX1mZoLRSIZjyuGskyN97iqwiNY 8cb+poXjRgNXkegtGRdZTt6siZFbnf2tXKH9cve2TKm5iUZvCpp1VA2unC8SuPi4RGxuXkZv 0+OrM6/7vA/zVnBdZv1LwPtPURd7QPrsQvGWaG5mrkOVH+eFXMjg4nGrcGZSV2Ipzkg01GIu Kk4EAEQ7wceSAgAA X-CMS-MailID: 20191216100916eucas1p16b1e74a1ae8f24bb31c24b89f15b8f2b X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20191210221015eucas1p24c0e3953edb0bac343e826dd85601519 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20191210221015eucas1p24c0e3953edb0bac343e826dd85601519 References: <3859b4bf-08ba-62d5-f00a-3ec4e67caf95@inlv.org> <1576145690.8441.3.camel@samsung.com> <46f2fc10-2f2c-88f1-e4e2-87196a39a37a@inlv.org> <1576248580.5214.17.camel@samsung.com> <20191214112826.4klmtvxvuhioddcf@tarpaulin.shahaf.local2> <20191216052423.svgnhfkpsxh46a6j@tarpaulin.shahaf.local2> On Mon, 2019-12-16 at 05:24 +0000, Daniel Shahaf wrote: > > trap 'printf $1; exit; printf $2' USR1 > > fn() { > >         printf 1 > >         kill -s usr1 $$ > >         printf 2 > > } > > printf 0 > > fn A B > > printf 3 > Here, Martijn was saying that zsh should print 01A but in fact prints 01A2. > This suggests the 'exit' inhibits «printf $2» and «printf 3» from running, but > doesn't inhibit «printf 2» (without a dollar sign) from running.  How would > you approach something like this?  I'm guessing bin_exit should set a global > volatile int variable to '1' if it's called from a signal handler, but where > would that variable be checked? Looks like Bart's already come up with the major gotchas in this case --- there are some deliberate delays in handling around exiting and this might well interact badly with an asynchronous signal. pws