fixes #18858 [backport] (#18868)

* fixes #18858 [backport]

* ensure async tests work with --experimental:strictEffects [backport]

* ensure async tests work with --experimental:strictEffects [backport]
This commit is contained in:
Andreas Rumpf 2021-09-19 23:35:50 +02:00 • committed by GitHub
commit 3241df2a13
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 3 deletions

View file

@ -330,12 +330,16 @@ proc countProcessors*(): int {.rtl, extern: "nosp$1".} =
## It is implemented just calling `cpuinfo.countProcessors`.
result = cpuinfo.countProcessors()
when not defined(nimHasEffectsOf):
{.pragma: effectsOf.}
proc execProcesses*(cmds: openArray[string],
options = {poStdErrToStdOut, poParentStreams}, n = countProcessors(),
beforeRunEvent: proc(idx: int) = nil,
afterRunEvent: proc(idx: int, p: Process) = nil):
int {.rtl, extern: "nosp$1",
tags: [ExecIOEffect, TimeEffect, ReadEnvEffect, RootEffect].} =
tags: [ExecIOEffect, TimeEffect, ReadEnvEffect, RootEffect],
effectsOf: [beforeRunEvent, afterRunEvent].} =
## Executes the commands `cmds` in parallel.
## Creates `n` processes that execute in parallel.
##