Forráskód Böngészése

vcs: make proper usage of the poll flags

Kay Sievers pointed out that usage of POLLIN is well defined by POSIX,
and the current usage here doesn't follow that definition.  So let's
duplicate the same semantics as implemented by sysfs_poll() instead.

Signed-off-by: Nicolas Pitre <nicolas.pitre@canonical.com>
Acked-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Nicolas Pitre 15 éve
szülő
commit
47c344d0bd
1 módosított fájl, 3 hozzáadás és 3 törlés
  1. 3 3
      drivers/tty/vt/vc_screen.c

+ 3 - 3
drivers/tty/vt/vc_screen.c

@@ -553,12 +553,12 @@ static unsigned int
 vcs_poll(struct file *file, poll_table *wait)
 vcs_poll(struct file *file, poll_table *wait)
 {
 {
 	struct vcs_poll_data *poll = vcs_poll_data_get(file);
 	struct vcs_poll_data *poll = vcs_poll_data_get(file);
-	int ret = 0;
+	int ret = DEFAULT_POLLMASK|POLLERR|POLLPRI;
 
 
 	if (poll) {
 	if (poll) {
 		poll_wait(file, &poll->waitq, wait);
 		poll_wait(file, &poll->waitq, wait);
-		if (!poll->seen_last_update)
-			ret = POLLIN | POLLRDNORM;
+		if (poll->seen_last_update)
+			ret = DEFAULT_POLLMASK;
 	}
 	}
 	return ret;
 	return ret;
 }
 }