]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/epolldispatcher.cpp
COrrected my misapplied fix, sorry
[wxWidgets.git] / src / unix / epolldispatcher.cpp
index b5b7a8cce637ea71d59cab3bed05f7d205170e79..7d751e8d576f2b7913a3fa9405e0bbc534dcd2c0 100644 (file)
 
 // helper: return EPOLLxxx mask corresponding to the given flags (and also log
 // debugging messages about it)
-static uint32_t GetEpollMask(int flags, int WXUNUSED_UNLESS_DEBUG(fd))
+static uint32_t GetEpollMask(int flags, int fd)
 {
+    wxUnusedVar(fd); // unused if wxLogTrace() disabled
+
     uint32_t ep = 0;
 
     if ( flags & wxFDIO_INPUT )
@@ -194,7 +196,11 @@ wxEpollDispatcher::DoPoll(epoll_event *events, int numEvents, int timeout) const
 bool wxEpollDispatcher::HasPending() const
 {
     epoll_event event;
-    return DoPoll(&event, 1, 0) == 1;
+
+    // NB: it's not really clear if epoll_wait() can return a number greater
+    //     than the number of events passed to it but just in case it can, use
+    //     >= instead of == here, see #10397
+    return DoPoll(&event, 1, 0) >= 1;
 }
 
 int wxEpollDispatcher::Dispatch(int timeout)