| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…fd/kqueue wait paths (pythonGH-154837) The event-driven wait introduced by pythongh-83069 passes the caller's timeout unclamped to poll() / kqueue.control(), so values that do not fit the C timestamp conversion (float('inf'), sys.maxsize, 1e10, ...) raise OverflowError on Linux and, on macOS/BSD, a misleading "TypeError: timeout must be a real number or None" -- all of which worked on 3.14 and earlier. - Lib/subprocess.py: clamp each wait to _MAXIMUM_WAIT_TIMEOUT (24h, following asyncio's MAXIMUM_SELECT_TIMEOUT precedent) and loop until the real deadline in both _wait_pidfd() and _wait_kqueue(). - Modules/selectmodule.c: only rewrite the kqueue.control() timeout conversion failure into TypeError when the original exception IS a TypeError, exactly like the select()/poll()/devpoll()/epoll() sites, so OverflowError surfaces for out-of-range values. (cherry picked from commit 11d0da5) Co-authored-by: Calvin Prewitt <calvin@setout.dev> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
The event-driven wait introduced by gh-83069 passes the caller's timeout
unclamped to poll() / kqueue.control(), so values that do not fit the C
timestamp conversion (float('inf'), sys.maxsize, 1e10, ...) raise
OverflowError on Linux and, on macOS/BSD, a misleading
"TypeError: timeout must be a real number or None" -- all of which
worked on 3.14 and earlier.
following asyncio's MAXIMUM_SELECT_TIMEOUT precedent) and loop until
the real deadline in both _wait_pidfd() and _wait_kqueue().
conversion failure into TypeError when the original exception IS a
TypeError, exactly like the select()/poll()/devpoll()/epoll() sites,
so OverflowError surfaces for out-of-range values.
(cherry picked from commit 11d0da5)
Co-authored-by: Calvin Prewitt calvin@setout.dev
Co-authored-by: Claude Fable 5 noreply@anthropic.com
Fixes #154836