Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm
Precedence: bulk
X-No-Archive: yes
List-Id: Zsh Workers List <zsh-workers.zsh.org>
List-Post: <mailto:zsh-workers@zsh.org>
List-Help: <mailto:zsh-workers-help@zsh.org>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,T_DKIM_INVALID
	autolearn=ham autolearn_force=no version=3.4.1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=brasslantern-com.20150623.gappssmtp.com; s=20150623;
        h=from:message-id:date:to:subject:mime-version;
        bh=y7LH5aNtBSgXxqnxGPqif2wfIIG20E4Q9Rud7kUGen8=;
        b=GOEgAwq2iytl3wSUTyOFqZUPXahzs16nayilnapYPdlLJRiTV3amMPBZ3ArWiruHG1
         EtrZ6x99F7Afpz+xZWtw6kx+lEAq/EHuHhCqVtorut9vpKzs7WMOl0+DVRGIRPzrMJ/T
         OdjvUGwwozHbw2zYDEfVQIbl8pZ6+nyNQbhS08vmLQdcHig4uS6LV/aBVpy1NJ1JJdnb
         h///6+j3cX1x7RaQoxyAuTO2AqoqR60UgtTlPP6lGD7NBL5upXbGRe4OuSN6Tll2X2uX
         zkEJeFBJ0nEDiSOs6BhOzgRgxbjIut+hsV2M2U34aIo5zZAsWS57mBjEOIMbY7xdl46R
         HgRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:from:message-id:date:to:subject:mime-version;
        bh=y7LH5aNtBSgXxqnxGPqif2wfIIG20E4Q9Rud7kUGen8=;
        b=Nyw7QnLXMRjvr1eivWU/e5oRVOJkQsiY8a6WjGRW+mDByFZrJumnoKbMPQSxJBqOQE
         2M74FQskiI//7qK31Ypk8dzBRZo8EapFThf+uPxXxgC5ZgBRRgNy+DJgc5myoJtUhCeC
         Y/Waj2FZCWYjqh/9yZT5K8uZYvh+AtCGf9/mDgBKcrTGfYAwO2qAbAyEmAoHEyWB0D09
         FF7txtXBZ+cOj1JWsz5h/pLMvN37f+u+0malK3dW2jySOxkrPLWgsdh1o3E/NTieMO6o
         9hTvvnB1+qKnvTYJrPTVcAA/RlS/zBmwSfJdlQee0+Brqfn+Gom6CgIHwH0SOf2ebbO6
         4aQQ==
X-Gm-Message-State: AD7BkJI4rOZNGBg9CAVXJb5taAvNrgQ8f7+Y1+b6MlyiEnlWwIYN7tGjUzsDcjRTgHZrzg==
X-Received: by 10.98.86.77 with SMTP id k74mr21620622pfb.28.1457405041364;
        Mon, 07 Mar 2016 18:44:01 -0800 (PST)
From: Bart Schaefer <schaefer@brasslantern.com>
Message-Id: <160307184406.ZM23121@torch.brasslantern.com>
Date: Mon, 7 Mar 2016 18:44:06 -0800
X-Mailer: OpenZMail Classic (0.9.2 24April2005)
To: zsh-workers@zsh.org
Subject: Signal handling bugaboo in command substitution
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Seq: zsh-workers 38112

At a PS1 prompt:

torch% print $(sleep 3; echo foo)

Press ctrl+z during the sleep.  Zsh is now hung, because the command
substitution is occuring in prefork() so there's nothing to handle the
stopped children and the parent itself ignores the signal.  Zsh is hung;
it won't return to a prompt, the command substitution will never produce
the awaited output, and nothing (except "kill -CONT" from another shell)
will wake it back up.

I'm not sure what to do here.  In other circumstances it's OK to stop a
command substitution with a ctrl+z, and in any kind of non-interactive
shell or even in a subshell the parent would handle the signal.

Bash appears to leave TSTP blocked here when interactive.  I don't think
testing for interactivity is sufficient in zsh context, though.

