1
0
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:
Vedant Kumar 2020-01-10 15:24:30 -08:00
parent f06e6b027e
commit 1108f46c04
2 changed files with 5 additions and 5 deletions

View File

@ -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.

View File

@ -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.