replace OnceLock
with AtomicPtr
in NATIVE_DISPLAY
#525
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.
I wanted to be able to start and stop a miniquad context and after trying several solutions to make
NATIVE_DISPLAY
droppable (e.g. usingRwLock
), I believe this one withAtomicPtr
plus an staticAtomicBool
has a very good balance between performance and security.A simple test:
I also got the idea of the
native_display
function wrappers from #505 to improve ergonomics.EDIT: This commit would effectively lower MSRV to 1.64. Related: #524.