-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Get rid of the rust_task_thread::blocked_tasks list #2027
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
I'm not sure it's feasible to get rid of this given the new linked failure mechanism. Even with a message-based tree, spawn_unlinked gives us the possibility of "losing track" of tasks, if we hope to get all of them inductively through failure propagation. I'd suggest relying on pipes' behaviour of closing-in-destructors, so when failure propagates tasks wouldn't need to get explicitly punted awake, but as long as there's the possibility of deadlocking pipe reads, that can't work either. In short, not sure it makes sense to do this. |
maybe i'll try getting rid of it temporarily and measuring the speed, just to see if this is worth thinking about |
I had another look and in the common case it's never even touched except under the same lock as Briefly tested removing it (didn't try very hard), saw no difference with vs without. For its functionality, it should stay. |
Move test suite to ui tests and bless stderr output fixes rust-lang#2027 * [ ] //~ annotations should check that the error happens on their line * [x] document all the things
Co-authored-by: Celina G. Val <celinval@amazon.com>
This list is only used to locate all tasks when the entire runtime fails. If we implemented #1189 then it wouldn't need to exist at all
The text was updated successfully, but these errors were encountered: