- Better timer for Windows platforms

- Made alarmed volatile for better Windows compatibility
This commit is contained in:
Paul Bakker 2011-04-24 15:28:55 +00:00
parent a755ca1bbe
commit 2eee902be3
2 changed files with 15 additions and 2 deletions

View file

@ -39,7 +39,7 @@ struct hr_time
extern "C" {
#endif
extern int alarmed;
extern volatile int alarmed;
/**
* \brief Return the CPU cycle counter value

View file

@ -136,6 +136,18 @@ unsigned long hardclock( void )
return( itc );
}
#else
#if defined(_MSC_VER)
unsigned long hardclock( void )
{
LARGE_INTEGER offset;
QueryPerformanceCounter( &offset );
return (unsigned long)( offset.QuadPart );
}
#else
static int hardclock_init = 0;
@ -157,6 +169,7 @@ unsigned long hardclock( void )
}
#endif /* generic */
#endif /* WIN32 */
#endif /* IA-64 */
#endif /* Alpha */
#endif /* SPARC8 */
@ -164,7 +177,7 @@ unsigned long hardclock( void )
#endif /* AMD64 */
#endif /* i586+ */
int alarmed = 0;
volatile int alarmed = 0;
#if defined(_WIN32)