summaryrefslogtreecommitdiff
path: root/poll
diff options
context:
space:
mode:
authorwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2002-12-31 17:10:40 +0000
committerwrowe <wrowe@13f79535-47bb-0310-9956-ffa450edef68>2002-12-31 17:10:40 +0000
commitfcc44073ce554512bfbebb273959c862bbd824b4 (patch)
treeb2c1e251639f20cb9bf893f4e86293a71fd5767c /poll
parenteb62cf9bec125bec647763b27fe4cf5188bae61a (diff)
downloadlibapr-fcc44073ce554512bfbebb273959c862bbd824b4.tar.gz
Fix apr_poll behavior on Darwin/Win32 (now passing testpoll.)
We were getting spurious returned events because the select-based poll implementation wasn't zeroing out previous results before setting the current ones and returning. Submitted by: Garrett Rooney <rooneg@electricjellyfish.net> git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64241 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poll')
-rw-r--r--poll/unix/poll.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/poll/unix/poll.c b/poll/unix/poll.c
index a5a0965a7..b0c215b71 100644
--- a/poll/unix/poll.c
+++ b/poll/unix/poll.c
@@ -275,6 +275,10 @@ APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, int num, apr_int32_t *n
}
#endif
+ for (i = 0; i < *nsds; i++) {
+ aprset[i].rtnevents = 0;
+ }
+
(*nsds) = rv;
if ((*nsds) == 0) {
return APR_TIMEUP;