From 1872e7916ce14a0a0b697eed534e27cb4d2b9ec2 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Wed, 5 Oct 2011 14:58:46 +0000 Subject: [PATCH] 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 --- lib/Frontend/CompilerInstance.cpp | 17 +++++++++++++++-- 1 file 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. } -- 2.40.0