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.
maketx (really, the underlying IBA::make_texture() call) writes to a
temporary output file, then after it's done, atomically moves the file
to its requested destination. This ensures proper operation if the user
foolishly specifies that output should overwrite input (same file), and
also is a guard against a crashing program leaving a corrupted
half-written file behind that could be mistaken for proper output.
This patch employs the same trick to oiiotool. It was "safe" to have
if in.exr was small enough -- in which case it would be fully read into
its ImageBuf when first encountered. But if it was a large file, it would
rely on ImageCache, so it was possible that when the output started to
overwrite it, trashing the file, not all the parts of the image had been
read into memory. With this patch, that should no longer be a danger.
We also do an ImageCache invalidation of the file that was output, in case
an portions are being used somehow.