Module Name: src
Committed By: gson
Date: Mon Jul 21 14:23:43 UTC 2014
Modified Files:
src/lib/librumphijack: hijack.c
Log Message:
Ignore the contents of revents when poll() returns failure.
This is one more part to the fix for PR kern/46464. Patch
from pooka.
To generate a diff of this commit:
cvs rdiff -u -r1.108 -r1.109 src/lib/librumphijack/hijack.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/librumphijack/hijack.c
diff -u src/lib/librumphijack/hijack.c:1.108 src/lib/librumphijack/hijack.c:1.109
--- src/lib/librumphijack/hijack.c:1.108 Sat Jul 19 14:14:21 2014
+++ src/lib/librumphijack/hijack.c Mon Jul 21 14:23:43 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: hijack.c,v 1.108 2014/07/19 14:14:21 gson Exp $ */
+/* $NetBSD: hijack.c,v 1.109 2014/07/21 14:23:43 gson Exp $ */
/*-
* Copyright (c) 2011 Antti Kantee. All Rights Reserved.
@@ -28,7 +28,7 @@
#include <rump/rumpuser_port.h>
#if !defined(lint)
-__RCSID("$NetBSD: hijack.c,v 1.108 2014/07/19 14:14:21 gson Exp $");
+__RCSID("$NetBSD: hijack.c,v 1.109 2014/07/21 14:23:43 gson Exp $");
#endif
#include <sys/param.h>
@@ -2069,12 +2069,10 @@ REALPOLLTS(struct pollfd *fds, nfds_t nf
errno_host = parg.errnum;
/* strip cross-thread notification from real results */
- if (pfd_host[nfds].revents & POLLIN) {
- assert(rv_host > 0);
+ if (rv_host > 0 && pfd_host[nfds].revents & POLLIN) {
rv_host--;
}
- if (pfd_rump[nfds].revents & POLLIN) {
- assert(rv_rump > 0);
+ if (rv_rump > 0 && pfd_rump[nfds].revents & POLLIN) {
rv_rump--;
}