mirror of
https://github.com/python/cpython.git
synced 2025-12-04 00:30:19 +00:00
Issue #11757: select.select() now raises ValueError when a negative timeout
is passed (previously, a select.error with EINVAL would be raised). Patch by Charles-François Natali.
This commit is contained in:
parent
c6a726d061
commit
131a6414dd
3 changed files with 10 additions and 0 deletions
|
|
@ -20,6 +20,7 @@ class SelectTestCase(unittest.TestCase):
|
|||
self.assertRaises(TypeError, select.select, [self.Nope()], [], [])
|
||||
self.assertRaises(TypeError, select.select, [self.Almost()], [], [])
|
||||
self.assertRaises(TypeError, select.select, [], [], [], "not a number")
|
||||
self.assertRaises(ValueError, select.select, [], [], [], -1)
|
||||
|
||||
def test_returned_list_identity(self):
|
||||
# See issue #8329
|
||||
|
|
|
|||
|
|
@ -103,6 +103,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #11757: select.select() now raises ValueError when a negative timeout
|
||||
is passed (previously, a select.error with EINVAL would be raised). Patch
|
||||
by Charles-François Natali.
|
||||
|
||||
- Issue #7311: fix html.parser to accept non-ASCII attribute values.
|
||||
|
||||
- Issue #11605: email.parser.BytesFeedParser was incorrectly converting multipart
|
||||
|
|
|
|||
|
|
@ -234,6 +234,11 @@ select_select(PyObject *self, PyObject *args)
|
|||
"timeout period too long");
|
||||
return NULL;
|
||||
}
|
||||
if (timeout < 0) {
|
||||
PyErr_SetString(PyExc_ValueError,
|
||||
"timeout must be non-negative");
|
||||
return NULL;
|
||||
}
|
||||
seconds = (long)timeout;
|
||||
timeout = timeout - (double)seconds;
|
||||
tv.tv_sec = seconds;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue