diff options
Diffstat (limited to 'extra/libxt')
-rw-r--r-- | extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff b/extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff deleted file mode 100644 index b3f708292..000000000 --- a/extra/libxt/Revert_treat_unexpected_returned_events_from_poll_as_errors.diff +++ /dev/null @@ -1,40 +0,0 @@ -From 70bb9e28d37fff4ead4d0a2c672af77059765fa4 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Wed, 04 Jan 2012 18:33:29 +0000 -Subject: Treat unexpected returned events from poll as errors - -Inspired by libxcb's f0565e8f06aadf760a9065a97b8cf5ab9cbd18de - -Resolves https://bugs.freedesktop.org/show_bug.cgi?id=20048 - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- -diff --git a/src/NextEvent.c b/src/NextEvent.c -index b1f7bc7..c8c9dd5 100644 ---- a/src/NextEvent.c -+++ b/src/NextEvent.c -@@ -356,7 +356,21 @@ static int IoWait ( - return Select (wf->nfds, &wf->rmask, &wf->wmask, &wf->emask, - wt->wait_time_ptr); - #else -- return poll (wf->fdlist, wf->fdlistlen, wt->poll_wait); -+ int ret = poll (wf->fdlist, wf->fdlistlen, wt->poll_wait); -+ /* If poll() returns an event we didn't expect, such as POLLNVAL, treat -+ * it as if it failed. */ -+ if(ret >= 0) { -+ nfds_t i; -+ for (i=0; i < wf->fdlistlen; i++) { -+ struct pollfd *fd = &wf->fdlist[i]; -+ if (fd->revents & ~fd->events) { -+ ret = -1; -+ errno = EIO; -+ break; -+ } -+ } -+ } -+ return ret; - #endif - } - --- -cgit v0.9.0.2-2-gbebe |