Small FFM race fix and small cleanup #84
Merged
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.
When OpenSlide returns a pointer to a structure inside the
openslide_t
, we need to hold theOpenSlideRef
lock until we're done copying out the returned data. This prevents another thread from closing theopenslide_t
out from under us.Drop redundant
OpenSlideFFM
null checks. These were carried over from the JNI implementation, where they were needed to prevent segfaults. With FFM, each of the affected variables is passed toarena.allocateFrom()
, which properly throws aNullPointerException
onnull
. That seems more correct than returning a method-specific sentinel value, since none of these methods should ever receivenull
in normal operation.