mirror of
https://github.com/bevyengine/bevy
synced 2024-11-22 20:53:53 +00:00
8eb8ad5c4a
# Objective - Fixes https://github.com/bevyengine/bevy/issues/6603 ## Solution - `Task`s will cancel when dropped, but wait until they return Pending before they actually get canceled. That means that if a task panics, it's possible for that error to get propagated to the scope and the scope gets dropped, while scoped tasks in other threads are still running. This is a big problem since scoped task can hold life-timed values that are dropped as the scope is dropped leading to UB. --- ## Changelog - changed `Scope` to use `FallibleTask` and await the cancellation of all remaining tasks when it's dropped. |
||
---|---|---|
.. | ||
iter | ||
lib.rs | ||
single_threaded_task_pool.rs | ||
slice.rs | ||
task.rs | ||
task_pool.rs | ||
usages.rs |