fix(preload): Fix load interruption #6271
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.
Interrupting load() was causing two concurrent sets of load() operations to happen at once, which led the asset URI for the second operation to be overwritten by the first.
This was exposed by a test failure on Safari. There is nothing special about Safari, but the timing happened to work out such that the concurrent load() calls would intefere with each other.
This fixes the issue by acquiring the mutex in load() for the preloadManager.start() operation.
This issue did not affect any releases.
Closes #6225