-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Concurrency][SE-0381] DiscardingTaskGroup #62361
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
Conversation
ee5e3ea
to
bac9182
Compare
@swift-ci please smoke test |
5174f8f
to
4bd1099
Compare
Uff, good, caught an accidental dumb ABI problem, fixed and this should be a good first cut. I'll finish up error and cancellation handling a bit more tomorrow. @swift-ci please smoke test |
@swift-ci please smoke test |
1 similar comment
@swift-ci please smoke test |
@swift-ci please smoke test |
wip on options implement discardResults as a flag passed to grout init
28c7c8b
to
60ee652
Compare
@swift-ci please smoke test |
@swift-ci please smoke test |
This is "complete" but there's a PR with more code-reuse incoming... |
Replaced by #62914 |
Defined by SE-0381: https://github.com/apple/swift-evolution/blob/main/proposals/0381-task-group-discard-results.md
This optimization work is to enable "infinite" task groups which just keep adding tasks "forever" but don't really need child task return values - for example, when implementing an RPC or web server, one might want to use a task group in order to stay inside structured concurrency for benefits of efficiency, task-local inheritance and canceling all in-flight rpcs when the server is cancelled.
Naively trying to handle such server case with:
Resolves rdar://101965913