Skip to content
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

Revert "Support cancellation of timer operations" #112

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

emixa-d
Copy link
Collaborator

@emixa-d emixa-d commented Nov 10, 2024

Reverts #110, because it introduces a concurrency bug #110 (comment) and it is being ignored. This is not only an elegance preference, this is a correctness issue.

timer-wheel-remove! is not an atomic procedure, so callers shouldn't fiddle with timer wheels of other schedulers.

Also, it might even happen without concurrent use of the same operation, because work-stealing exists.

Before that PR, it is a heap growth issue (though not precisely a 'never free' situation, more 'overly delayed free'). Replacing this by a concurrency issue (and in a concurrency library) isn't really an improvement.

@emixa-d
Copy link
Collaborator Author

emixa-d commented Nov 10, 2024

Also pinging @LiberalArtist whom I cannot add to "Reviewers".

@civodul
Copy link
Collaborator

civodul commented Nov 10, 2024

Apologies for overlooking #110 (comment) !

Hopefully we can find a solution that does not involve reverting everything, such as using an atomic box as I suggested there.

Let me know what you think.

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

Successfully merging this pull request may close these issues.

2 participants