-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Implement a simple library for task cancellation and status management #34198
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
@swift-ci Please test |
Build failed |
Build failed |
@swift-ci Please test |
Build failed |
Build failed |
@swift-ci Please test |
@swift-ci Please test Windows |
Build failed |
f575042
to
9d3e18f
Compare
@swift-ci Please test |
@swift-ci Please test Windows platform |
Build failed |
Build failed |
4429bcb
to
0e71ef3
Compare
@swift-ci Please test. |
@swift-ci Please test Windows platform. |
Build failed |
0e71ef3
to
e9c31df
Compare
@swift-ci Please test. |
e9c31df
to
59a34b7
Compare
@swift-ci Please test |
Build failed |
59a34b7
to
2a92ba8
Compare
@swift-ci Please test |
Build failed |
There are things about this that I'm far from sold on. In particular, I'm concerned that in order to implement escalation correctly, we're going to have to add a status record for the fact that the task is being executed, which means we're going to have to potentially wait to acquire the status lock; overall, that means making an extra runtime function call and doing some atomics whenever we resume or suspend a task, which is an uncomfortable amount of overhead. The testing here is pretty grossly inadequate, but I wanted to lay down the groundwork here.
2a92ba8
to
8ac4362
Compare
@swift-ci Please test. |
Note that this includes a change that I'm landing separately as #34302. |
There are things about this that I'm far from sold on. In particular, I'm concerned that in order to implement escalation correctly, we're going to have to add a status record for the fact that the task is being executed, which means we're going
to have to potentially wait to acquire the status lock; overall, that means making an extra runtime function call and doing some
atomics whenever we resume or suspend a task, which is an uncomfortable amount of overhead.
The testing here is pretty grossly inadequate, but I wanted to lay down the groundwork.