diff options
author | vega <vega@ELDISSOFT.LAN> | 2016-12-16 12:12:36 +0700 |
---|---|---|
committer | vega <vega@ELDISSOFT.LAN> | 2016-12-16 12:12:36 +0700 |
commit | 52a7ed5d19ab1260ed4781bf0e8f205e18ff2e73 (patch) | |
tree | 4a8bdbe3f5c9138923e3ff92e37fe2f2698b3c1c /lib/pure/concurrency | |
parent | aedafb99787d3613c6776bea625d9a43b2b7a8ea (diff) | |
download | Nim-52a7ed5d19ab1260ed4781bf0e8f205e18ff2e73.tar.gz |
Fix overflow when casting int64 to int in cpuload.nim
Diffstat (limited to 'lib/pure/concurrency')
-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 |