From: Vincent Lefevre <vincent@vinc17.net>
To: zsh-workers@zsh.org
Subject: Re: pipeline that cannot be interrupted
Date: Tue, 26 Apr 2022 12:07:08 +0200 [thread overview]
Message-ID: <20220426100708.GA129732@zira.vinc17.org> (raw)
In-Reply-To: <20220426091833.GE100943@zira.vinc17.org>
On 2022-04-26 11:18:33 +0200, Vincent Lefevre wrote:
> Date: Fri, 2 Aug 2019 16:51:06 +0200
> From: Vincent Lefevre <vincent@vinc17.net>
> To: zsh-workers@zsh.org
> Subject: [BUG] pipeline that cannot be interrupted with Ctrl-C (regression)
>
> With zsh 5.7.1 under Debian, the following pipeline cannot be
> interrupted with Ctrl-C:
>
> { /bin/sleep 10 ; /bin/sleep 20; } | { /bin/sleep 30 ; /bin/sleep 40; }
>
> But if I remove one of the sleep, it can be interrupted by Ctrl-C.
>
> There was no issue with zsh 5.3.1 (Debian 9).
>
> Note: I mentioned this example in zsh-users in the thread
> "kill the LHS command of a pipe once the RHS command terminates".
More tests similar this one:
zira% {
echo L1 > /dev/tty
/bin/sleep 10
echo L2 > /dev/tty
/bin/sleep 20
echo L3 > /dev/tty
} | {
echo R1 > /dev/tty
/bin/sleep 30
echo R2 > /dev/tty
/bin/sleep 40
echo R3 > /dev/tty
}
R1
L1
^CR2
^C^C^C^C^\^\
So the "/bin/sleep 30" gets interrupted by Ctrl-C, then
Ctrl-C and Ctrl-\ are ignored until "/bin/sleep 40" ends.
With "date" (a command) instead of the "echo" builtin, the signals
are ignored until the "/bin/sleep 20" ends, and before the 3rd date
command:
zira% {
date "+L1 %F %T" > /dev/tty
/bin/sleep 10
date "+L2 %F %T" > /dev/tty
/bin/sleep 20
date "+L3 %F %T" > /dev/tty
} | {
date "+R1 %F %T" > /dev/tty
/bin/sleep 30
date "+R2 %F %T" > /dev/tty
/bin/sleep 40
date "+R3 %F %T" > /dev/tty
}
R1 2022-04-26 12:00:50
L1 2022-04-26 12:00:50
^C^C^C^\^\L2 2022-04-26 12:01:00
^C^C^C^\^\
zira%
with the prompt at 2022-04-26 12:01:20.
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
next prev parent reply other threads:[~2022-04-26 10:07 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-26 0:36 Ctrl-\ while executing a pipeline made zsh quit Vincent Lefevre
2022-04-26 0:44 ` Vincent Lefevre
2022-04-26 1:24 ` Bart Schaefer
2022-04-26 3:00 ` Vincent Lefevre
2022-04-26 4:05 ` Bart Schaefer
2022-04-26 9:07 ` Vincent Lefevre
2022-04-26 9:18 ` pipeline that cannot be interrupted (was: Ctrl-\ while executing a pipeline made zsh quit) Vincent Lefevre
2022-04-26 10:07 ` Vincent Lefevre [this message]
2022-04-27 20:07 ` pipeline that cannot be interrupted Bart Schaefer
2022-04-27 20:29 ` Bart Schaefer
2022-04-29 0:24 ` Bart Schaefer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220426100708.GA129732@zira.vinc17.org \
--to=vincent@vinc17.net \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).