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.
diff --git a/Lib/test/test_poll.py b/Lib/test/test_poll.py
index 028dd2d..d593495 100644
--- a/Lib/test/test_poll.py
+++ b/Lib/test/test_poll.py
@@ -207,7 +207,7 @@
@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()