mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[LockFileManager] Make default waitForUnlock timeout a parameter, NFC
Patch by Xi Ge!
This commit is contained in:
parent
f06e6b027e
commit
1108f46c04
@ -77,7 +77,9 @@ public:
|
||||
operator LockFileState() const { return getState(); }
|
||||
|
||||
/// For a shared lock, wait until the owner releases the lock.
|
||||
WaitForUnlockResult waitForUnlock();
|
||||
/// Total timeout for the file to appear is ~1.5 minutes.
|
||||
/// \param MaxSeconds the maximum wait time per iteration in seconds.
|
||||
WaitForUnlockResult waitForUnlock(const unsigned MaxSeconds = 40);
|
||||
|
||||
/// Remove the lock file. This may delete a different lock file than
|
||||
/// the one previously read if there is a race.
|
||||
|
@ -290,7 +290,8 @@ LockFileManager::~LockFileManager() {
|
||||
sys::DontRemoveFileOnSignal(UniqueLockFileName);
|
||||
}
|
||||
|
||||
LockFileManager::WaitForUnlockResult LockFileManager::waitForUnlock() {
|
||||
LockFileManager::WaitForUnlockResult
|
||||
LockFileManager::waitForUnlock(const unsigned MaxSeconds) {
|
||||
if (getState() != LFS_Shared)
|
||||
return Res_Success;
|
||||
|
||||
@ -301,9 +302,6 @@ LockFileManager::WaitForUnlockResult LockFileManager::waitForUnlock() {
|
||||
Interval.tv_sec = 0;
|
||||
Interval.tv_nsec = 1000000;
|
||||
#endif
|
||||
// Don't wait more than 40s per iteration. Total timeout for the file
|
||||
// to appear is ~1.5 minutes.
|
||||
const unsigned MaxSeconds = 40;
|
||||
do {
|
||||
// Sleep for the designated interval, to allow the owning process time to
|
||||
// finish up and remove the lock file.
|
||||
|
Loading…
x
Reference in New Issue
Block a user