bevy/crates
Mike 90e76a1c45 await tasks to cancel (#6696)
# 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.
2022-11-30 13:54:19 -08:00
..
bevy_animation Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_app Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_asset Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_audio Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_core Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_core_pipeline Fix missing sRGB conversion for dithering non-HDR pipelines (#6707) 2022-11-30 13:50:14 -08:00
bevy_derive Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_diagnostic Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_dylib Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_dynamic_plugin Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_ecs Remove warning about missed events due to false positives (#6730) 2022-11-30 13:51:09 -08:00
bevy_ecs_compile_fail_tests Fix trybuild tests broken by rust 1.65 (#6457) 2022-11-03 15:09:27 +00:00
bevy_encase_derive Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_gilrs Bump gilrs version to 0.10 (#6558) 2022-11-30 13:46:11 -08:00
bevy_gltf Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_hierarchy bevy_scene: Add missing registration for SmallVec<[Entity; 8]> (#6578) 2022-11-30 13:45:41 -08:00
bevy_input Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_internal Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_log Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_macro_utils Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_math Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_mikktspace Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_pbr Fix missing sRGB conversion for dithering non-HDR pipelines (#6707) 2022-11-30 13:50:14 -08:00
bevy_ptr Respect alignment for zero-sized types stored in the world (#6618) 2022-11-30 13:44:52 -08:00
bevy_reflect bevy_reflect: Fix binary deserialization not working for unit structs (#6722) 2022-11-30 13:50:27 -08:00
bevy_render Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_scene Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_sprite wasm: pad globals uniform also in 2d (#6643) 2022-11-30 13:48:24 -08:00
bevy_tasks await tasks to cancel (#6696) 2022-11-30 13:54:19 -08:00
bevy_text Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_time Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_transform Fix panicking on another scope (#6524) 2022-11-30 13:49:35 -08:00
bevy_ui Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_utils Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_window Release 0.9.0 (#6568) 2022-11-12 20:01:29 +00:00
bevy_winit Removed Mobile Touch event y-axis flip (#6597) 2022-11-30 13:49:08 -08:00