Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix spurious file locking problems with precomp store
File locking is a mess. Because it's racy, we cannot rely on upgrading a shared lock to an exclusive lock, so we have to take an exclusive lock even for reading precomp files. We also now only lock a file once and count how often we tried locking the same file, so we only unlock after the last locker set it free. Lastly we re-check the existence of a precomp file after loading failed and we locked the store again for precompilation, because in between, someone else may have precompiled and we could only make matters worse if we precompile again.
- Loading branch information
Showing
3 changed files
with
18 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters