fix(mac): make tempFile unique for each call to getProvisioningProfileAsync #4269
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 building multiple targets on macOS,
getProvisioningProfileAsync
(in electron-osx-sign) would create a temporary plist file that was shared between targets. However this method also unlinked the file it created causing the other target, which was running in parallel and still needed the file to crash.This fix makes the temporary file name unique for each call to
getProvisioningProfileAsync
by introducing a high-resolution timer as a component of the temporary file name hash, so when the method unlinks the file, it doesn't cause other targets building in parallel to fail as they will have their own copy of the file.fixes #4204