From 1783fe71ef1ac25a96b0006cff1f898528fa35f8 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Tue, 19 Jul 2005 03:15:24 +0000 Subject: [PATCH] simplify --- stepmania/src/arch/ArchHooks/ArchHooks_Unix.cpp | 7 +------ stepmania/src/arch/ArchHooks/ArchHooks_Unix.h | 1 - stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp | 4 +--- stepmania/src/arch/Threads/Threads_Pthreads.cpp | 11 +++-------- 4 files changed, 5 insertions(+), 18 deletions(-) diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Unix.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_Unix.cpp index 78830361e6..59ca654c2c 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Unix.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Unix.cpp @@ -17,8 +17,6 @@ #endif -int64_t ArchHooks_Unix::m_iStartTime = 0; - static bool IsFatalSignal( int signal ) { switch( signal ) @@ -107,10 +105,7 @@ static int64_t GetMicrosecondsSinceEpoch() int64_t ArchHooks::GetMicrosecondsSinceStart( bool bAccurate ) { - if( ArchHooks_Unix::m_iStartTime == 0 ) - ArchHooks_Unix::m_iStartTime = GetMicrosecondsSinceEpoch(); - - int64_t ret = GetMicrosecondsSinceEpoch() - ArchHooks_Unix::m_iStartTime; + int64_t ret = GetMicrosecondsSinceEpoch(); if( bAccurate ) ret = FixupTimeIfBackwards( ret ); return ret; diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Unix.h b/stepmania/src/arch/ArchHooks/ArchHooks_Unix.h index c23317111f..98d63d9a26 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Unix.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Unix.h @@ -5,7 +5,6 @@ class ArchHooks_Unix: public ArchHooks { public: - static int64_t m_iStartTime; ArchHooks_Unix(); void DumpDebugInfo(); diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp index 9cac77e08c..6b05bd0d9c 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp @@ -226,7 +226,6 @@ void ArchHooks_Win32::SetupConcurrentRenderingThread() } static bool g_bTimerInitialized; -static DWORD g_iStartTime; static void InitTimer() { @@ -235,7 +234,6 @@ static void InitTimer() g_bTimerInitialized = true; timeBeginPeriod( 1 ); - g_iStartTime = timeGetTime(); } int64_t ArchHooks::GetMicrosecondsSinceStart( bool bAccurate ) @@ -243,7 +241,7 @@ int64_t ArchHooks::GetMicrosecondsSinceStart( bool bAccurate ) if( !g_bTimerInitialized ) InitTimer(); - int64_t ret = (timeGetTime() - g_iStartTime) * int64_t(1000); + int64_t ret = timeGetTime() * int64_t(1000); if( bAccurate ) { ret = FixupTimeIfLooped( ret ); diff --git a/stepmania/src/arch/Threads/Threads_Pthreads.cpp b/stepmania/src/arch/Threads/Threads_Pthreads.cpp index 5ce81e82ad..172be002ac 100644 --- a/stepmania/src/arch/Threads/Threads_Pthreads.cpp +++ b/stepmania/src/arch/Threads/Threads_Pthreads.cpp @@ -4,7 +4,6 @@ #include "RageUtil.h" #include #include -#include "arch/ArchHooks/ArchHooks_Unix.h" #if defined(LINUX) #include "archutils/Unix/LinuxThreadHelpers.h" @@ -231,13 +230,9 @@ bool EventImpl_Pthreads::Wait( RageTimer *pTimeout ) } timespec abstime; - abstime.tv_sec = pTimeout->m_secs + ArchHooks_Unix::m_iStartTime/1000000; - abstime.tv_nsec = (pTimeout->m_us + ArchHooks_Unix::m_iStartTime%1000000) * 1000; - while(abstime.tv_nsec > 999999999) - { - abstime.tv_sec++; - abstime.tv_nsec -= 1000000000; - } + abstime.tv_sec = pTimeout->m_secs; + abstime.tv_nsec = pTimeout->m_us * 1000; + int iRet = pthread_cond_timedwait( &m_Cond, &m_pParent->mutex, &abstime ); return iRet != ETIMEDOUT; }