Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
1506-erts-Fix-retrieval-of-OS-monotonic-time-on...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1506-erts-Fix-retrieval-of-OS-monotonic-time-on-Windows.patch of Package erlang
From bfb9af51fa29ed2f42b2c136487aa9f2951b31d5 Mon Sep 17 00:00:00 2001 From: Rickard Green <rickard@erlang.org> Date: Tue, 2 Apr 2024 16:04:17 +0200 Subject: [PATCH 1/2] [erts] Fix retrieval of OS monotonic time on Windows --- erts/emulator/sys/win32/sys_time.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/erts/emulator/sys/win32/sys_time.c b/erts/emulator/sys/win32/sys_time.c index 1502ea57e2..1febfee829 100644 --- a/erts/emulator/sys/win32/sys_time.c +++ b/erts/emulator/sys/win32/sys_time.c @@ -86,7 +86,7 @@ static int days_in_month[2][13] = { struct sys_time_internal_state_read_only__ { ULONGLONG (WINAPI *pGetTickCount64)(void); BOOL (WINAPI *pQueryPerformanceCounter)(LARGE_INTEGER *); - Sint32 pcf; + Uint32 pcf; int using_get_tick_count_time_unit; }; @@ -170,16 +170,10 @@ os_times_qpc(ErtsMonotonicTime *mtimep, ErtsSystemTime *stimep) LARGE_INTEGER pc; SYSTEMTIME st; ErtsSystemTime stime; - BOOL qpcr; - qpcr = (*internal_state.r.o.pQueryPerformanceCounter)(&pc); + *mtimep = os_monotonic_time_qpc(); GetSystemTime(&st); - if (!qpcr) - erts_exit(ERTS_ABORT_EXIT, "QueryPerformanceCounter() failed\n"); - - *mtimep = (ErtsMonotonicTime) pc.QuadPart; - stime = SystemTime2MilliSec(&st); *stimep = ((ErtsSystemTime) @@ -372,7 +366,7 @@ sys_init_time(ErtsSysInitTimeResult *init_resp) if (!internal_state.r.o.pQueryPerformanceCounter) goto get_tick_count64; - if (pf.QuadPart > (((LONGLONG) 1) << 32)) + if (pf.QuadPart >= (((LONGLONG) 1) << 32)) goto get_tick_count64; internal_state.r.o.pcf = (Uint32) pf.QuadPart; -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor