You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
swift-async-algorithms spawns unstructured tasks in several places (like for the merge operation). This is problematic because it doesn’t propagate the current preferred executor to these tasks. This means that it’s impossible to compose usage of these operations with custom task executors.
This should be fixed, either by seeing if it's possible to refactor these operations to use structured concurrency, or by setting a task executor on these unstructured tasks.
The text was updated successfully, but these errors were encountered:
merge cannot avoid creating tasks; so it would need to be set on the unstructured task. The task is needed because during a call to next the other sides will need to continue iterating such that it yields a value for the next iteration (and it cannot directly cancel).
Yes the problem is we currently don't have APIs to get the current preferred task executor to set it correctly on the unstructured task. So we need to extend the Concurrency lib first before we can adjust the algos here.
swift-async-algorithms
spawns unstructured tasks in several places (like for themerge
operation). This is problematic because it doesn’t propagate the current preferred executor to these tasks. This means that it’s impossible to compose usage of these operations with custom task executors.This should be fixed, either by seeing if it's possible to refactor these operations to use structured concurrency, or by setting a task executor on these unstructured tasks.
The text was updated successfully, but these errors were encountered: