Common: ensures thread safety of ffTimeInitQpcMultiplier

This commit is contained in:
李通洲
2026-01-14 10:03:51 +08:00
parent 501746a270
commit 1699d14984
2 changed files with 8 additions and 6 deletions
+8
View File
@@ -84,4 +84,12 @@ FFTimeGetAgeResult ffTimeGetAge(uint64_t birthMs, uint64_t nowMs)
#ifdef _WIN32
double ffQpcMultiplier;
__attribute__((constructor))
static void ffTimeInitQpcMultiplier(void)
{
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
ffQpcMultiplier = 1000. / (double) frequency.QuadPart;
}
#endif
-6
View File
@@ -25,12 +25,6 @@ static inline double ffTimeGetTick(void) //In msec
{
#ifdef _WIN32
extern double ffQpcMultiplier;
if (ffQpcMultiplier == 0)
{
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
ffQpcMultiplier = 1000. / (double) frequency.QuadPart;
}
LARGE_INTEGER start;
QueryPerformanceCounter(&start);
return (double) start.QuadPart * ffQpcMultiplier;