diff options
Diffstat (limited to 'lib/std')
-rw-r--r-- | lib/std/exitprocs.nim | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/std/exitprocs.nim b/lib/std/exitprocs.nim index b2811735c..c6537f7f8 100644 --- a/lib/std/exitprocs.nim +++ b/lib/std/exitprocs.nim @@ -63,3 +63,25 @@ proc addExitProc*(cl: proc() {.noconv.}) = withLock gFunsLock: fun() gFuns.add Fun(kind: kNoconv, fun2: cl) + +when not defined(nimscript): + proc getProgramResult*(): int = + when defined(js) and defined(nodejs): + asm """ +`result` = process.exitCode; +""" + elif not defined(js): + result = programResult + else: + doAssert false + + proc setProgramResult*(a: int) = + # pending https://github.com/nim-lang/Nim/issues/14674 + when defined(js) and defined(nodejs): + asm """ +process.exitCode = `a`; +""" + elif not defined(js): + programResult = a + else: + doAssert false |