summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-12-18 02:07:56 +0100
committerGitHub <noreply@github.com>2016-12-18 02:07:56 +0100
commit19edb206d9c22d173fd7fa9e13f6fc978c8cf729 (patch)
tree8b25cc4016c93a439ce42de78da6bdb620720152
parent31bc063f2d66cf0463d700b041f250ab920c8217 (diff)
parent52a7ed5d19ab1260ed4781bf0e8f205e18ff2e73 (diff)
downloadNim-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.nim6
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