zsh-workers
 help / color / mirror / code / Atom feed
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)


  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 \
    --subject='Re: pipeline that cannot be interrupted' \
    /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

Code repositories for project(s) associated with this 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).