diff options
author | modk <github@modk.org> | 2015-01-29 12:51:22 +0100 |
---|---|---|
committer | modk <github@modk.org> | 2015-01-29 12:51:22 +0100 |
commit | 458e3b2f07eea9a1f6d369cb10e7504f4e4d3855 (patch) | |
tree | f02bf11f68794fe8099fce2ec25306938b48bb88 /lib/pure | |
parent | e37e9978689c0ae394a8fa1cd748d969f079f1a4 (diff) | |
download | Nim-458e3b2f07eea9a1f6d369cb10e7504f4e4d3855.tar.gz |
FreeBSD-specific code
Diffstat (limited to 'lib/pure')
-rw-r--r-- | lib/pure/osproc.nim | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim index 7261dcf56..6361dfb09 100644 --- a/lib/pure/osproc.nim +++ b/lib/pure/osproc.nim @@ -848,10 +848,14 @@ elif not defined(useNimRtl): if kill(p.id, SIGCONT) != 0'i32: raiseOsError(osLastError()) proc running(p: Process): bool = - var status : cint = 1 - var ret = waitpid(p.id, status, WNOHANG) - if WIFEXITED(status): - p.exitCode = status + var ret : int + when not defined(freebsd): + ret = waitpid(p.id, p.exitCode, WNOHANG) + else: + var status : cint = 1 + 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) |