diff options
author | Jim Meyering <meyering@redhat.com> | 2011-12-08 10:49:03 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2011-12-08 12:17:54 +0100 |
commit | c592a00f8f8c7e6baeff575a3762459173153635 (patch) | |
tree | 816826369d86abf2dda38529803bd12403cf29b9 /NEWS | |
parent | 6eb3cf234fef5522c0a206222e77f170c2ad6959 (diff) | |
download | coreutils-c592a00f8f8c7e6baeff575a3762459173153635.tar.xz |
ls: be responsive to interrupts when color-listing large directories
Starting with commit adc30a83, when using --color, ls inhibited
interrupts to avoid corrupting the state of an output terminal.
However, for very large directories, that inhibition rendered ls
uninterruptible for too long, including a potentially long period
even before any output is generated.
* src/ls.c: Two phases of processing are time-consuming enough that
they can provoke this: the readdir loop and the printing loop. The
printing was supposed to be covered by a call to process_signals in
(print_name_with_quoting): ... but that call was mistakenly guarded
by a condition that might be false for many or even all files being
processed. Call process_signals unconditionally.
(print_dir): Also call process_signals in the readdir loop.
* NEWS (Bug fixes): Mention it.
Reported by Arkadiusz MiĆkiewicz in http://bugs.gnu.org/10243
Co-authored-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'NEWS')
-rw-r--r-- | NEWS | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -4,6 +4,9 @@ GNU coreutils NEWS -*- outline -*- ** Bug fixes + ls --color many-entry-directory was uninterruptible for too long + [bug introduced in coreutils-5.2.1] + ls's -k option no longer affects how ls -l outputs file sizes. It now affects only the per-directory block counts written by -l, and the sizes written by -s. This is for compatibility with BSD |