poll-loop: Fix assertion in poll_create_node().
authorIlya Maximets <i.maximets@samsung.com>
Tue, 22 Sep 2015 09:27:15 +0000 (12:27 +0300)
committerBen Pfaff <blp@nicira.com>
Tue, 22 Sep 2015 16:33:04 +0000 (09:33 -0700)
Zero is a valid value for a file descriptor.

Reported-by: Nikita Kalyazin <n.kalyazin@samsung.com>
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
AUTHORS
lib/poll-loop.c

diff --git a/AUTHORS b/AUTHORS
index 9f1d7c1..1ccbf15 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -80,6 +80,7 @@ Hao Zheng               hzheng@nicira.com
 Helmut Schaa            helmut.schaa@googlemail.com
 Huanle Han              hanxueluo@gmail.com
 Ian Campbell            Ian.Campbell@citrix.com
+Ilya Maximets           i.maximets@samsung.com
 Isaku Yamahata          yamahata@valinux.co.jp
 James P.                roampune@gmail.com
 James Page              james.page@ubuntu.com
@@ -326,6 +327,7 @@ Mikael Doverhag         mdoverhag@nicira.com
 Mrinmoy Das             mrdas@ixiacom.com
 Nagi Reddy Jonnala      njonnala@Brocade.com
 Niels van Adrichem      N.L.M.vanAdrichem@tudelft.nl
+Nikita Kalyazin         n.kalyazin@samsung.com
 Niklas Andersson        nandersson@nicira.com
 Pankaj Thakkar          thakkar@nicira.com
 Pasi Kärkkäinen         pasik@iki.fi
index 3c4b55c..36eb5ac 100644 (file)
@@ -104,7 +104,7 @@ poll_create_node(int fd, HANDLE wevent, short int events, const char *where)
     COVERAGE_INC(poll_create_node);
 
     /* Both 'fd' and 'wevent' cannot be set. */
-    ovs_assert(!fd != !wevent);
+    ovs_assert(fd == -1 || !wevent);
 
     /* Check for duplicate.  If found, "or" the events. */
     node = find_poll_node(loop, fd, wevent);
@@ -159,7 +159,7 @@ poll_fd_wait_at(int fd, short int events, const char *where)
 void
 poll_wevent_wait_at(HANDLE wevent, const char *where)
 {
-    poll_create_node(0, wevent, 0, where);
+    poll_create_node(-1, wevent, 0, where);
 }
 #endif /* _WIN32 */