diff options
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/osproc.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim index 20a0c401e..cc2dfc4cd 100644 --- a/lib/pure/osproc.nim +++ b/lib/pure/osproc.nim @@ -848,7 +848,10 @@ elif not defined(useNimRtl): if kill(p.id, SIGCONT) != 0'i32: raiseOsError(osLastError()) proc running(p: Process): bool = - var ret = waitpid(p.id, p.exitCode, WNOHANG) + var status : cint + var ret = waitpid(p.id, status, WNOHANG) + if WIFEXITED(status): + p.exitCode = status if ret == 0: return true # Can't establish status. Assume running. result = ret == int(p.id) |