#20311: revert changes to 3.3 branch for now until experts have decided how to resolve the issue.

This commit is contained in:
Georg Brandl 2014-01-25 09:11:13 +01:00
parent c11435399e
commit 381c280815
3 changed files with 1 additions and 18 deletions

View File

@ -217,17 +217,6 @@ class TestEPoll(unittest.TestCase):
server.close() server.close()
ep.unregister(fd) ep.unregister(fd)
def test_timeout_rounding(self):
# epoll_wait() has a resolution of 1 millisecond, check if the timeout
# is correctly rounded to the upper bound
epoll = select.epoll()
self.addCleanup(epoll.close)
for timeout in (1e-2, 1e-3, 1e-4):
t0 = time.monotonic()
epoll.poll(timeout)
dt = time.monotonic() - t0
self.assertGreaterEqual(dt, timeout)
def test_main(): def test_main():
support.run_unittest(TestEPoll) support.run_unittest(TestEPoll)

View File

@ -61,10 +61,6 @@ Library
- Issue #20374: Fix build with GNU readline >= 6.3. - Issue #20374: Fix build with GNU readline >= 6.3.
- Issue #20311: select.epoll.poll() now rounds the timeout away from zero,
instead of rounding towards zero. For example, a timeout of one microsecond
is now rounded to one millisecond, instead of being rounded to zero.
- Issue #20262: Warnings are raised now when duplicate names are added in the - Issue #20262: Warnings are raised now when duplicate names are added in the
ZIP file or too long ZIP file comment is truncated. ZIP file or too long ZIP file comment is truncated.

View File

@ -1379,9 +1379,7 @@ pyepoll_poll(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
return NULL; return NULL;
} }
else { else {
/* epoll_wait() has a resolution of 1 millisecond, round away from zero timeout = (int)(dtimeout * 1000.0);
to wait *at least* dtimeout seconds. */
timeout = (int)ceil(dtimeout * 1000.0);
} }
if (maxevents == -1) { if (maxevents == -1) {