--- Begin Message ---
Subject: |
ls --color cannot be interrupted by a signal |
Date: |
Mon, 15 Aug 2016 15:55:04 +0200 |
User-agent: |
KMail/4.14.10 (Linux/4.7.0-gentoo; KDE/4.14.20; x86_64; ; ) |
If 'ls --color' outputs to a terminal and a syscall blocks (e.g. while reading
a directory from unresponsive network file system), it cannot be interrupted
by a signal.
This seems to be caused by the code of ls, which sets the SA_RESTART flag on
terminating signals. A possible solution would be to reset the flag prior to
calling certain blocking syscalls and process the signals synchronously in an
EINTR loop.
Alternatively, we can document this behavior as intended (or broken by design)
and suggest users to disable color output or redirect the output off terminal
to work around the issue.
Any other idea how to solve it?
Originally reported at: https://bugzilla.redhat.com/1365933
Kamil
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#24232: [PATCH] ls: postpone installation of signal handlers |
Date: |
Tue, 6 Sep 2016 16:59:08 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 06/09/16 16:38, Kamil Dudka wrote:
> ... until they are actually needed. That is right before the first
> escape sequence is printed to a terminal.
Cool, that's a good improvement.
Note I moved the NEWS from "bugs" to "improvements".
Also I tweaked a long line to avoid `make syntax-check` failure.
Will push later.
thanks!
Pádraig
--- End Message ---