diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-05-17 15:40:26 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-03-05 14:53:12 -0500 |
commit | cedd6f3041de6abe64dfa3257bec7730a9dced9f (patch) | |
tree | d4df43117c979edf713b220e7ecfa68bd731c37a /rts/win32 | |
parent | 8c663c2c2ff0d79b2c7cfadb0ce961339f1e7e4c (diff) | |
download | haskell-cedd6f3041de6abe64dfa3257bec7730a9dced9f.tar.gz |
rts: Add getCurrentThreadCPUTime helper
Diffstat (limited to 'rts/win32')
-rw-r--r-- | rts/win32/GetTime.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/rts/win32/GetTime.c b/rts/win32/GetTime.c index 61a978e2aa..e0f5e7d406 100644 --- a/rts/win32/GetTime.c +++ b/rts/win32/GetTime.c @@ -35,6 +35,20 @@ getProcessTimes(Time *user, Time *elapsed) } Time +getCurrentThreadCPUTime(void) +{ + FILETIME creationTime, exitTime, userTime, kernelTime = {0,0}; + + if (!GetThreadTimes(GetCurrentThread(), &creationTime, + &exitTime, &kernelTime, &userTime)) { + sysErrorBelch("getCurrentThreadCPUTime: Win32 error %lu", GetLastError()); + return 0; + } + + return fileTimeToRtsTime(userTime); +} + +Time getProcessCPUTime(void) { FILETIME creationTime, exitTime, userTime, kernelTime = {0,0}; |