diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-10-05 14:58:46 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-10-05 14:58:46 +0000 |
commit | 1872e7916ce14a0a0b697eed534e27cb4d2b9ec2 (patch) | |
tree | af18d1f9aff2c33eebb2310c9f030fd060fe5a4a /lib/Frontend/CompilerInstance.cpp | |
parent | 2bc750700487163e31e4f67cd0e0886868209e3c (diff) |
Seriously ugly hack to try to get the Windows builders back online
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@141180 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/CompilerInstance.cpp')
-rw-r--r-- | lib/Frontend/CompilerInstance.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/Frontend/CompilerInstance.cpp b/lib/Frontend/CompilerInstance.cpp index 32455c9d57..f14c2e30bc 100644 --- a/lib/Frontend/CompilerInstance.cpp +++ b/lib/Frontend/CompilerInstance.cpp @@ -880,10 +880,13 @@ void LockFileManager::waitForUnlock() { if (getState() != LFS_Shared) return; +#if LLVM_ON_WIN32 + unsigned long Interval = 1; +#else struct timespec Interval; Interval.tv_sec = 0; Interval.tv_nsec = 1000000; - +#endif // Don't wait more than an hour for the file to appear. const unsigned MaxSeconds = 3600; do { @@ -902,13 +905,23 @@ void LockFileManager::waitForUnlock() { return; // Exponentially increase the time we wait for the lock to be removed. +#if LLVM_ON_WIN32 + Interval *= 2; +#else Interval.tv_sec *= 2; Interval.tv_nsec *= 2; if (Interval.tv_nsec >= 1000000000) { ++Interval.tv_sec; Interval.tv_nsec -= 1000000000; } - } while (Interval.tv_sec < MaxSeconds); +#endif + } while ( +#if LLVM_ON_WIN32 + Interval < MaxSeconds * 1000 +#else + Interval.tv_sec < MaxSeconds +#endif + ); // Give up. } |