Make /dev/zero reads interruptible by signals
This helps with bad latencies for large reads from /dev/zero, but might conceivably break some application that "knows" that a read of /dev/zero cannot return early. So do this early in the merge window to give us maximal test coverage, even if the patch is totally trivial. Obviously, no well-behaved application should ever depend on the read being uninterruptible, but hey, bugs happen. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
07a2039b8e
commit
2b83868723
|
@ -694,9 +694,8 @@ static ssize_t read_zero(struct file * file, char __user * buf,
|
|||
written += chunk - unwritten;
|
||||
if (unwritten)
|
||||
break;
|
||||
/* Consider changing this to just 'signal_pending()' with lots of testing */
|
||||
if (fatal_signal_pending(current))
|
||||
return written ? written : -EINTR;
|
||||
if (signal_pending(current))
|
||||
return written ? written : -ERESTARTSYS;
|
||||
buf += chunk;
|
||||
count -= chunk;
|
||||
cond_resched();
|
||||
|
|
Loading…
Reference in New Issue