🍒 [Concurrency] Harden async_task_locals_copy_to_sync #39623
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description: The test naively assumed the code will complete quickly and did a sleep after the spawning of a
Task{}
-- this leads to flaky behavior on slow machines. The test specifically must create tasks from synchronous code, to exercise the code-path for such context. This means we're not really able to useawait
as it would cause the test not utilize the intended code path. This change makes use of a semaphore instead of a naive sleep to stabilize the test.Risk: Low, test-only change
Review by: @DougGregor
Testing: PR validation on main and 5.5 branches
Original PR: #39621
Radar: rdar://83940885