Skip to content

Conversation

al45tair
Copy link
Contributor

We no longer attempt to convert timestamps from the passed-in Clock in order to allow any clock to work with any executor. Instead, executors that do not recognise a clock should call the enqueue function on that Clock, which lets the Clock itself decide how to proceed.

Also, make all the new functionality public on the 6.2 branch (it's currently private).

We no longer attempt to convert timestamps from the passed-in `Clock`
in order to allow any clock to work with any executor.  Instead,
executors that do not recognise a clock should call the `enqueue`
function on that `Clock`, which lets the `Clock` itself decide how
to proceed.

Additionally, rename `SchedulableExecutor` to `SchedulingExecutor`.
This makes the custom global executor support and associated
functionality public.
@al45tair al45tair requested a review from a team as a code owner August 27, 2025 16:39
@al45tair
Copy link
Contributor Author

Explanation: This is a cherry pick of #82456, but with everything still non-public, along with a separate commit to make all the new functionality public, so that we can easily revert the latter and leave ourselves in a position where 6.2 is unchanged.
Risk: Medium. The Clock API change is exercised by the test suite, but it is new code.
Original PR: #82456
Reviewed by: @ktoso
Resolves: rdar://154191435
Tests: The test suite exercises the Clock changes.

@al45tair
Copy link
Contributor Author

@swift-ci Please test

@al45tair
Copy link
Contributor Author

@swift-ci Please test macOS platform

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant