From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6388 invoked by alias); 8 Mar 2016 02:44:06 -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: 38112 Received: (qmail 5778 invoked from network); 8 Mar 2016 02:44:04 -0000 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 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 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.