Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[BUG] last builtin command in a subshell and trap
- X-seq: zsh-workers 49144
- From: Vincent Lefevre <vincent@xxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [BUG] last builtin command in a subshell and trap
- Date: Thu, 1 Jul 2021 15:32:04 +0200
- Archived-at: <https://zsh.org/workers/49144>
- List-id: <zsh-workers.zsh.org>
- Mail-followup-to: zsh-workers@xxxxxxx
With zsh 5.8, the SIGPIPE trap is not executed when the builtin that
generates it is the last command of a subshell:
zira% ( trap 'echo PIPE >&2' PIPE; sleep 1; pwd; ) | :
zsh: write error: broken pipe
With an additional command (builtin), this is OK:
zira% ( trap 'echo PIPE >&2' PIPE; sleep 1; pwd; :; ) | :
zsh: write error: broken pipe
PIPE
I wonder whether this is related to the (undocumented?) optimization
that exec's the last command of a subshell / shell script (though
this is not applicable to builtins).
There is the same issue with mksh, but not with dash, ksh93, bash and
yash.
--
Vincent Lefèvre <vincent@xxxxxxxxxx> - 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)
Messages sorted by:
Reverse Date,
Date,
Thread,
Author