From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1989 invoked by alias); 2 Sep 2015 06:00:17 -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: X-Seq: 36394 Received: (qmail 351 invoked from network); 2 Sep 2015 06:00:15 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE autolearn=ham autolearn_force=no version=3.4.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=g0YZ2LMIMXOePel0Lr3X4bi7/Ml0xCQwGWk1CJpKPAA=; b=NVJQs20SBxG/Fd7zqbavxmzGxtTT9xpv0KVsbozru31Wjuv6guBVvN02FUsIJccE2C 1i1NhnpoivICsbNBRoPgQ3YNk3k9o3WbP9xxkhkBIAL6yX4Cn+L0OG2L5nux6SZxId4s s4w5Je1/EBcwlnp1e0MCFFeoV2BbVvw6UXGASTjEBJ5bjWwxOBeUbfdXCI2scBgsl2lC 4tobrSFW37cqVEcVWEJs5I5rNRGlH+HH/Z7GWcZczuGhLXRSwElgfTydxyA1FbnpMsgk +LlGJOUm2Nk4G5sDK/gPqLuJF4i1mGNTN2dJ3zYQ7PO486AMDfO4Q/FENt54eIKi/8hp C7XA== MIME-Version: 1.0 X-Received: by 10.60.142.170 with SMTP id rx10mr18908088oeb.28.1441173612360; Tue, 01 Sep 2015 23:00:12 -0700 (PDT) In-Reply-To: <150901191441.ZM15728@torch.brasslantern.com> References: <20150901230743.GA12128@zira.vinc17.org> <20150902001322.GA17603@zira.vinc17.org> <150901191441.ZM15728@torch.brasslantern.com> Date: Wed, 2 Sep 2015 09:00:12 +0300 Message-ID: Subject: Re: zsh 5.1 freezes with zombie child From: Mathias Fredriksson To: zsh-workers@zsh.org Content-Type: multipart/alternative; boundary=047d7b1635153979b1051ebd6122 --047d7b1635153979b1051ebd6122 Content-Type: text/plain; charset=UTF-8 I'm currently away, but I'll give it a try when I get back at the end of the week. On Sep 2, 2015 5:15 AM, "Bart Schaefer" wrote: > On Sep 2, 2:13am, Vincent Lefevre wrote: > } > } zira% updprompt() { true && { : } } > } zira% TRAPCHLD() { updprompt } > } zira% sleep 2 & sleep 3 ; echo OK > } [1] 20452 > } [1] + done sleep 2 > } > } and zsh freezes here. > > The following fixes it, but makes me nervous. Is Mathias Fredriksson > still listening? Try to reproduce that deadlock from the thread back > at the beginning of August? (Was it really that recently? Gaah.) > > > diff --git a/Src/signals.c b/Src/signals.c > index f45c186..aa0b5aa 100644 > --- a/Src/signals.c > +++ b/Src/signals.c > @@ -1348,6 +1348,7 @@ void > dotrap(int sig) > { > void *funcprog; > + int q = queue_signal_level(); > > if (sigtrapped[sig] & ZSIG_FUNC) { > HashNode hn = gettrapnode(sig, 0); > @@ -1370,5 +1371,9 @@ dotrap(int sig) > if ((sigtrapped[sig] & ZSIG_IGNORED) || !funcprog || errflag) > return; > > + dont_queue_signals(); > + > dotrapargs(sig, sigtrapped+sig, funcprog); > + > + restore_queue_signals(q); > } > --047d7b1635153979b1051ebd6122--