loom: add abstraction for RwLock to remove poisoning aspect #6807
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.
With #6779 we removed unnecessary allocations from the timerwheel by wrapping it in an
std::sync::RwLock
. Since theMutex
used in this part of the project uses an abstraction inloom::sync::Mutex
to get rid of the poisoning aspects ofstd::sync::Mutex
the same should probably be done for the used read-write lock struct.This commit introduces an abstraction to get rid of the poisoning aspects of
std::sync::RwLock
by introducing a wrapper to theloom::sync
module similar toloom::sync::Mutex
.Refs: #6779