From 085f354f8a259492dd9fc24f93df6183ae7d8c86 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 29 Aug 2004 22:51:09 +0000 Subject: [PATCH] allow not timing out on semaphore waits --- stepmania/src/RageThreads.cpp | 4 ++-- stepmania/src/RageThreads.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/stepmania/src/RageThreads.cpp b/stepmania/src/RageThreads.cpp index 6b667a5b00..22bd3c5430 100644 --- a/stepmania/src/RageThreads.cpp +++ b/stepmania/src/RageThreads.cpp @@ -661,13 +661,13 @@ void RageSemaphore::Post() m_pSema->Post(); } -void RageSemaphore::Wait() +void RageSemaphore::Wait( bool bFailOnTimeout ) { retry: if( m_pSema->Wait() ) return; - if( Dialog::IsShowingDialog() ) + if( !bFailOnTimeout || Dialog::IsShowingDialog() ) goto retry; /* We waited too long. We're probably deadlocked, though unlike mutexes, we can't diff --git a/stepmania/src/RageThreads.h b/stepmania/src/RageThreads.h index b3ce4b39d6..b69c52b69e 100644 --- a/stepmania/src/RageThreads.h +++ b/stepmania/src/RageThreads.h @@ -129,7 +129,7 @@ public: CString GetName() const { return m_sName; } int GetValue() const; void Post(); - void Wait(); + void Wait( bool bFailOnTimeout=true ); bool TryWait(); private: