forked from OSchip/llvm-project
Reduce the LockFileManager timeout, and provide unsafeRemoveLockFile
5 minutes is an eternity, so try to strike a better balance between waiting long enough for any reasonable module build and not so long that users kill the process because they think it's hanging. Also give the client a way to delete the lock file after a timeout. llvm-svn: 228603
This commit is contained in:
parent
955c4ff9c3
commit
d2d52de229
|
@ -77,6 +77,10 @@ public:
|
|||
|
||||
/// \brief For a shared lock, wait until the owner releases the lock.
|
||||
WaitForUnlockResult waitForUnlock();
|
||||
|
||||
/// \brief Remove the lock file. This may delete a different lock file than
|
||||
/// the one previously read if there is a race.
|
||||
std::error_code unsafeRemoveLockFile();
|
||||
};
|
||||
|
||||
} // end namespace llvm
|
||||
|
|
|
@ -186,8 +186,8 @@ LockFileManager::WaitForUnlockResult LockFileManager::waitForUnlock() {
|
|||
Interval.tv_sec = 0;
|
||||
Interval.tv_nsec = 1000000;
|
||||
#endif
|
||||
// Don't wait more than five minutes for the file to appear.
|
||||
unsigned MaxSeconds = 300;
|
||||
// Don't wait more than one minute for the file to appear.
|
||||
unsigned MaxSeconds = 60;
|
||||
bool LockFileGone = false;
|
||||
do {
|
||||
// Sleep for the designated interval, to allow the owning process time to
|
||||
|
@ -263,3 +263,7 @@ LockFileManager::WaitForUnlockResult LockFileManager::waitForUnlock() {
|
|||
// Give up.
|
||||
return Res_Timeout;
|
||||
}
|
||||
|
||||
std::error_code LockFileManager::unsafeRemoveLockFile() {
|
||||
return sys::fs::remove(LockFileName.str());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue