-
-
Notifications
You must be signed in to change notification settings - Fork 30.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-103462: Ensure SelectorSocketTransport.writelines registers a writer when data is still pending #103463
gh-103462: Ensure SelectorSocketTransport.writelines registers a writer when data is still pending #103463
Conversation
Includes two failing tests that demonstrate a bug where if the data passed to writelines can't be sent in one shot, the remaining buffer isn't written since there is no registered write handler
If all the data in the buffer can't be written immediately schedule a writer to handle the remaining data.
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
When the platform (windows) doesn't support it skip tests for writelines using sendmsg
Most changes to Python require a NEWS entry. Please add it using the blurb_it web app or the blurb command-line tool. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, Can you add a news entry? Thanks
done! |
Misc/NEWS.d/next/Library/2023-04-12-06-00-02.gh-issue-103462.w6yBlM.rst
Outdated
Show resolved
Hide resolved
* main: pythongh-103479: [Enum] require __new__ to be considered a data type (pythonGH-103495) pythongh-103365: [Enum] STRICT boundary corrections (pythonGH-103494) pythonGH-103488: Use return-offset, not yield-offset. (pythonGH-103502) pythongh-103088: Fix test_venv error message to avoid bytes/str warning (pythonGH-103500) pythonGH-103082: Turn on branch events for FOR_ITER instructions. (python#103507) pythongh-102978: Fix mock.patch function signatures for class and staticmethod decorators (python#103228) pythongh-103462: Ensure SelectorSocketTransport.writelines registers a writer when data is still pending (python#103463) pythongh-95299: Rework test_cppext.py to not invoke setup.py directly (python#103316)
…a writer when data is still pending (python#103463)
Description
When the payload used with
SelectorSocketTransport.writelines
is too large to write in one call to eithersocket.send
orsocket.sendmsg
the remaining buffer needs to be handled by registering a write handler.Related Pull Request / Issue