-
Notifications
You must be signed in to change notification settings - Fork 13.3k
uvio's read_stream() may not trigger task scheduling #9605
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
Comments
We currently ignore return value from |
I guessed |
Let's handle the return value correctly. |
@brson I have a dirty-stashed patch which calls |
I now understand that return value really indicates whether it is correctly registered to event pool or not. |
|
This was closed by #9721 |
fix: uninlined_format_args shouldn't inline panic! before 2021ed Before 2021 edition, `panic!("...")` was not treated as a format string. Clippy autofix of `panic!("{}", foo)` into `panic!("{foo}")` is incorrect. changelog: [`uninlined_format_args`]: Do not inline panic! macros before 2021 edition
Fix edition revision ui tests rust-lang#9605 had me wondering how the edition revision tests were working for `manual_assert` but not for `@nyurik,` but it turns out `manual_assert`'s tests weren't working either. I checked how `rust-lang/rust` does it and apparently it comes down to whitespace, `//[rev] edition:X` works 😬 Removes the revisions from `match_wild_err_arm` as I couldn't find any edition dependant behaviour there r? `@llogiq` changelog: none
std::rt::uv::uvio::read_stream()
callsStreamWatcher::read_start()
with on_read callback containingscheduler.resume_blocked_task_immediately(task_cell.take());
.However, in some bad cases,
read_start()
does not call on_read, thus the task hangs.Here is excerpt from
libuv/src/win/stream.c
:This blocks #8811's
read_eof_twice_ip4()
andread_eof_twice_ip6()
tests on win32: secondstream.read()
triggersUV_HANDLE_READABLE
condition.The problem does not occur on unix since there is no check equivalent to
UV_HANDLE_READABLE
.The text was updated successfully, but these errors were encountered: