bpo-31334: Fix timeout in select.poll.poll() (GH-3277)

Always pass -1, or INFTIM where defined, to the poll() system call when
a negative timeout is passed to the poll.poll([timeout]) method in the
select module. Various OSes throw an error with arbitrary negative
values.
This commit is contained in:
Riccardo Coccioli 2017-10-17 21:45:07 +02:00 committed by Victor Stinner
parent 2c15b29aea
commit 6cfa927ceb
4 changed files with 21 additions and 10 deletions

View file

@ -207,7 +207,7 @@ class PollTests(unittest.TestCase):
@unittest.skipUnless(threading, 'Threading required for this test.')
@reap_threads
def test_poll_blocks_with_negative_ms(self):
for timeout_ms in [None, -1, -1.0, -0.1, -1e-100]:
for timeout_ms in [None, -1000, -1, -1.0, -0.1, -1e-100]:
# Create two file descriptors. This will be used to unlock
# the blocking call to poll.poll inside the thread
r, w = os.pipe()