Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2b838687 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 07a2039b
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -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();