diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-12-18 02:07:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-18 02:07:56 +0100 |
commit | 19edb206d9c22d173fd7fa9e13f6fc978c8cf729 (patch) | |
tree | 8b25cc4016c93a439ce42de78da6bdb620720152 | |
parent | 31bc063f2d66cf0463d700b041f250ab920c8217 (diff) | |
parent | 52a7ed5d19ab1260ed4781bf0e8f205e18ff2e73 (diff) | |
download | Nim-19edb206d9c22d173fd7fa9e13f6fc978c8cf729.tar.gz |
Merge pull request #5123 from vegansk/cpuload_overflow
Fix overflow when casting int64 to int in cpuload.nim
-rw-r--r-- | lib/pure/concurrency/cpuload.nim | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/pure/concurrency/cpuload.nim b/lib/pure/concurrency/cpuload.nim index b0fd002ed..db5f47407 100644 --- a/lib/pure/concurrency/cpuload.nim +++ b/lib/pure/concurrency/cpuload.nim @@ -45,12 +45,12 @@ proc advice*(s: var ThreadPoolState): ThreadPoolAdvice = procKernelDiff = procKernel - s.prevProcKernel procUserDiff = procUser - s.prevProcUser - sysTotal = int(sysKernelDiff + sysUserDiff) - procTotal = int(procKernelDiff + procUserDiff) + sysTotal = sysKernelDiff + sysUserDiff + procTotal = procKernelDiff + procUserDiff # total CPU usage < 85% --> create a new worker thread. # Measurements show that 100% and often even 90% is not reached even # if all my cores are busy. - if sysTotal == 0 or procTotal / sysTotal < 0.85: + if sysTotal == 0 or procTotal.float / sysTotal.float < 0.85: result = doCreateThread s.prevSysKernel = sysKernel s.prevSysUser = sysUser |