mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
Fallback to doNothing if /proc/loadavg cant be opened (#7123)
This commit is contained in:
committed by
Andreas Rumpf
parent
45c02af2b5
commit
ecbbefcc83
@@ -60,17 +60,20 @@ proc advice*(s: var ThreadPoolState): ThreadPoolAdvice =
|
||||
proc fscanf(c: File, frmt: cstring) {.varargs, importc,
|
||||
header: "<stdio.h>".}
|
||||
|
||||
var f = open("/proc/loadavg")
|
||||
var b: float
|
||||
var busy, total: int
|
||||
fscanf(f,"%lf %lf %lf %ld/%ld",
|
||||
addr b, addr b, addr b, addr busy, addr total)
|
||||
f.close()
|
||||
let cpus = countProcessors()
|
||||
if busy-1 < cpus:
|
||||
result = doCreateThread
|
||||
elif busy-1 >= cpus*2:
|
||||
result = doShutdownThread
|
||||
var f: File
|
||||
if f.open("/proc/loadavg"):
|
||||
var b: float
|
||||
var busy, total: int
|
||||
fscanf(f,"%lf %lf %lf %ld/%ld",
|
||||
addr b, addr b, addr b, addr busy, addr total)
|
||||
f.close()
|
||||
let cpus = countProcessors()
|
||||
if busy-1 < cpus:
|
||||
result = doCreateThread
|
||||
elif busy-1 >= cpus*2:
|
||||
result = doShutdownThread
|
||||
else:
|
||||
result = doNothing
|
||||
else:
|
||||
result = doNothing
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user