From fae7082049f738f5fc33b8c98c89a9db6fd5062a Mon Sep 17 00:00:00 2001 From: Patrick Dehne Date: Sun, 20 Oct 2013 23:38:52 +0200 Subject: [PATCH] Wrap hiResCounterHandler in a function to prevent an order of initialization problems --- .../modules/beast_core/native/mac_SystemStats.mm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/beast/modules/beast_core/native/mac_SystemStats.mm b/src/beast/modules/beast_core/native/mac_SystemStats.mm index 9d43f5acf..39e9fb941 100644 --- a/src/beast/modules/beast_core/native/mac_SystemStats.mm +++ b/src/beast/modules/beast_core/native/mac_SystemStats.mm @@ -267,11 +267,15 @@ private: double highResTimerToMillisecRatio; }; -static HiResCounterHandler hiResCounterHandler; +static HiResCounterHandler& hiResCounterHandler() +{ + static HiResCounterHandler hiResCounterHandler; + return hiResCounterHandler; +} -uint32 beast_millisecondsSinceStartup() noexcept { return hiResCounterHandler.millisecondsSinceStartup(); } -double Time::getMillisecondCounterHiRes() noexcept { return hiResCounterHandler.getMillisecondCounterHiRes(); } -int64 Time::getHighResolutionTicksPerSecond() noexcept { return hiResCounterHandler.highResTimerFrequency; } +uint32 beast_millisecondsSinceStartup() noexcept { return hiResCounterHandler().millisecondsSinceStartup(); } +double Time::getMillisecondCounterHiRes() noexcept { return hiResCounterHandler().getMillisecondCounterHiRes(); } +int64 Time::getHighResolutionTicksPerSecond() noexcept { return hiResCounterHandler().highResTimerFrequency; } int64 Time::getHighResolutionTicks() noexcept { return (int64) mach_absolute_time(); } bool Time::setSystemTimeToThisTime() const