bpo-23846: Fix ProactorEventLoop._write_to_self()#11566
Conversation
asyncio.ProactorEventLoop now catchs and logs send errors when the self-pipe is full: BaseProactorEventLoop._write_to_self() now catchs and logs OSError exceptions, as done by BaseSelectorEventLoop._write_to_self().
asvetlov
left a comment
There was a problem hiding this comment.
LGTM, but maybe warn_on_full_buffer=False for set_wakeup_fd() is even better option?
https://docs.python.org/3/library/signal.html#signal.set_wakeup_fd
set_wakeupfd() is unrelated to https://bugs.python.org/issue23846 or did I miss something? Moreover, unix_events.py is my reference (best implementation), and it doesn't use warn_on_full_buffer=False. |
|
Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.7. |
|
GH-11567 is a backport of this pull request to the 3.7 branch. |
asyncio.ProactorEventLoop now catchs and logs send errors when the self-pipe is full: BaseProactorEventLoop._write_to_self() now catchs and logs OSError exceptions, as done by BaseSelectorEventLoop._write_to_self(). (cherry picked from commit c9f872b) Co-authored-by: Victor Stinner <vstinner@redhat.com>
asyncio.ProactorEventLoop now catchs and logs send errors when the self-pipe is full: BaseProactorEventLoop._write_to_self() now catchs and logs OSError exceptions, as done by BaseSelectorEventLoop._write_to_self(). (cherry picked from commit c9f872b) Co-authored-by: Victor Stinner <vstinner@redhat.com>
|
You are right, |
|
asyncio.ProactorEventLoop now catchs and logs send errors when the
self-pipe is full: BaseProactorEventLoop._write_to_self() now catchs
and logs OSError exceptions, as done by
BaseSelectorEventLoop._write_to_self().
https://bugs.python.org/issue23846