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

Remove nested listener locks #40

Merged
merged 4 commits into from
Feb 19, 2024
Merged

Conversation

natsukagami
Copy link
Collaborator

Upon discussions with @m8nmueller, we discovered that race does not necessarily require nested locking of
listeners (which is the only usage of the nested locks).
Instead the race implementation can just re-use the upsteam listener's lock and provide one if not yet existed.

With this out, I think we can just remove all the nested locking mechanisms. Should a legitimate need is raised
again in the future, we know that there is a sound and performant design ready.

Progress:

  • Make race utilize existing upstream lock if possible
  • Remove nested locks
  • Rename lockCompletely -> acquireLock, lockSelf -> acquire

@natsukagami natsukagami merged commit 07989ff into lampepfl:main Feb 19, 2024
3 checks passed
@natsukagami natsukagami deleted the no-nested-lock branch February 19, 2024 13:37
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