Repository navigation
select: validate and expand Windows descriptor capacity - #9021
Conversation
Add local-socket readiness coverage for 65 entries and the Windows 512-entry limit, preserving 513-entry rejection. This regression-only commit intentionally leaves the current Windows 64-entry defect visible before the implementation is added. AI assistance covered regression design, CPython 3.14 source comparison, and automated Linux baseline/reference testing. No manual Windows validation is claimed. Assisted-by: Codex:model-version-unavailable
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merging this PR will not alter performance
Comparing Footnotes
|
Use a 512-entry WinSock fd_set with checked C layout and scan its returned socket array. Keep the SDK default-size declaration at the FFI boundary only. The preceding regression-only commit passed CPython 3.14.7 on hosted Windows and failed RustPython at the first 65-socket selection. Windows-GNU host_env cargo check and Clippy with warnings denied pass. The fixed native Windows runtime result remains pending CI. AI assistance covered source comparison, implementation, regression design, and automated verification. No manual validation is claimed. Assisted-by: Codex:model-version-unavailable
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bca89e687c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
|
|
||
| # Windows supports up to 512 entries, above the Windows SDK default of 64. | ||
| for count in (65, 512) if sys.platform == "win32" else (65,): |
There was a problem hiding this comment.
Remove the disallowed test-file changes
This newly added loop introduces test data, control flow, and assertions in a test file, but the root AGENTS.md limits test-file modifications to adding or removing expected-failure markers. Remove this regression block from the test file (or update the repository policy before landing it).
AGENTS.md reference: AGENTS.md:L275-L279
Useful? React with 👍 / 👎.
Scope
Match Python 3.14's Windows
select.select()capacity of 512 entries. RustPython currently uses the Windows SDK default of 64.This draft deliberately starts with a regression-only commit. Its Windows RustPython snippet is expected to fail on the current baseline; that failure will establish native-platform evidence before the implementation is added to the same draft branch. The existing workflow runs the CPython reference and RustPython on Windows. The implementation and subsequent verification will remain in this PR's commit history and checks.
Regression
Evidence at draft creation
FD_SETSIZEas 512: selectmodule.c.This is a Python 3.14 compatibility extraction from #8954. No Python 3.15 API or test-expectation changes are included.
AI assistance: OpenAI Codex assisted with source comparison, regression design, implementation preparation, and automated verification under the user's direction. No manual Windows validation is claimed.