X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a12698abb72c090dba6907506781ae979b0ef606..ae901b234c4a0aa7c1777b3bd181dd7f8517ad21:/src/unix/epolldispatcher.cpp

diff --git a/src/unix/epolldispatcher.cpp b/src/unix/epolldispatcher.cpp
index b5b7a8cce6..7d751e8d57 100644
--- a/src/unix/epolldispatcher.cpp
+++ b/src/unix/epolldispatcher.cpp
@@ -42,8 +42,10 @@
 
 // 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)