-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Vendor a fork of async_executor to allow for deeper integration with bevy_tasks #20331
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
base: main
Are you sure you want to change the base?
Changes from 74 commits
3691690
54b0bbc
2b8ed66
1121542
01ac223
1dab08e
0b036fe
45b5e15
ab45573
05f1f40
0f226bf
9c28473
7f8c932
f84028e
f44d302
227258e
d88035d
2028736
da66005
8d4e5ca
3cb694f
d0ef3f4
25233ff
69a1389
943f135
5b9a40e
355c96f
564daf6
b100634
8700f7e
a94bfda
6246ec8
6faca4f
93c696b
686d429
aa64f03
1d73b78
79c31b7
fc875d9
4dcb37c
0923f02
43a09d7
8f313f7
4a8b6b0
7e5cf6c
eb689b5
7ec07af
4a4434c
2ce5537
8af9886
cfc6af4
74d301c
898166b
2b96789
f5737f7
84edd4f
dc7ce63
b217cbd
00b62c2
5d122a0
73798b1
909f2e5
96dd3d5
6c4f878
b10d226
e8b9c1f
3354efa
c6fecbd
5df82e1
ee8f531
20fe27b
ea262ef
f305276
5373e7c
9c35b81
ded5b15
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -76,10 +76,7 @@ impl Plugin for ScheduleRunnerPlugin { | |
| app.set_runner(move |mut app: App| { | ||
| let plugins_state = app.plugins_state(); | ||
| if plugins_state != PluginsState::Cleaned { | ||
| while app.plugins_state() == PluginsState::Adding { | ||
| #[cfg(not(all(target_arch = "wasm32", feature = "web")))] | ||
| bevy_tasks::tick_global_task_pools_on_main_thread(); | ||
| } | ||
| while app.plugins_state() == PluginsState::Adding {} | ||
|
||
| app.finish(); | ||
| app.cleanup(); | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should probably have https://doc.rust-lang.org/std/hint/fn.spin_loop.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm might need to revert the tick_global_task_pools_on_main_thread changes, some of the examples are failling. May need to implement a
block_onbased on Executor::run here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I investigated why we needed the
tick_global_task_pools_on_main_threadin the runners. It started in #8336 and was added to run the IoTask for initializing the renderer. This works in native single threaded, because we run the tasks inline in the spawn. On web this works since we detach the task and poll for the RenderDevice in finish. So the one case I can think of where this might matter is if we're running multithreaded, but we don't spawn any worker threads. I'd be a bit surprised if that's what's happening in ci, since I thought we spawned at least 1 thread in each pool by default.