From: Douglas Gregor Date: Wed, 5 Oct 2011 14:58:46 +0000 (+0000) Subject: Seriously ugly hack to try to get the Windows builders back online X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1872e7916ce14a0a0b697eed534e27cb4d2b9ec2;p=clang 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 --- 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. }