This commit is contained in:
Glenn Maynard
2005-04-05 05:07:13 +00:00
parent d6bbf9c0f8
commit af231d1a63
3 changed files with 8 additions and 11 deletions
@@ -17,8 +17,7 @@
#endif
int64_t ArchHooks_Unix::iStartTime = 0;
bool ArchHooks_Unix::bTimerInitialized = false;
int64_t ArchHooks_Unix::m_iStartTime = 0;
static bool IsFatalSignal( int signal )
{
@@ -108,11 +107,10 @@ static int64_t GetMicrosecondsSinceEpoch()
int64_t ArchHooks::GetMicrosecondsSinceStart( bool bAccurate )
{
if (!ArchHooks_Unix::bTimerInitialized) {
ArchHooks_Unix::bTimerInitialized = true;
ArchHooks_Unix::iStartTime = GetMicrosecondsSinceEpoch();
}
int64_t ret = GetMicrosecondsSinceEpoch() - ArchHooks_Unix::iStartTime;
if( ArchHooks_Unix::m_iStartTime == 0 )
ArchHooks_Unix::m_iStartTime = GetMicrosecondsSinceEpoch();
int64_t ret = GetMicrosecondsSinceEpoch() - ArchHooks_Unix::m_iStartTime;
if( bAccurate )
ret = FixupTimeIfBackwards( ret );
return ret;
@@ -5,8 +5,7 @@
class ArchHooks_Unix: public ArchHooks
{
public:
static int64_t iStartTime;
static bool bTimerInitialized;
static int64_t m_iStartTime;
ArchHooks_Unix();
void DumpDebugInfo();
@@ -227,8 +227,8 @@ bool EventImpl_Pthreads::Wait( RageTimer *pTimeout )
}
timespec abstime;
abstime.tv_sec = pTimeout->m_secs + ArchHooks_Unix::iStartTime/1000000;
abstime.tv_nsec = (pTimeout->m_us + ArchHooks_Unix::iStartTime%1000000) * 1000;
abstime.tv_sec = pTimeout->m_secs + ArchHooks_Unix::m_iStartTime/1000000;
abstime.tv_nsec = (pTimeout->m_us + ArchHooks_Unix::m_iStartTime%1000000) * 1000;
int iRet = pthread_cond_timedwait( &m_Cond, &m_pParent->mutex, &abstime );
return iRet != ETIMEDOUT;
}