better error handling for osproc.nim
This commit is contained in:
parent
33ebf3e5fb
commit
0a6787f956
1 changed files with 5 additions and 1 deletions
|
|
@ -841,15 +841,19 @@ elif not defined(useNimRtl):
|
||||||
if data.workingDir.len > 0:
|
if data.workingDir.len > 0:
|
||||||
setCurrentDir($data.workingDir)
|
setCurrentDir($data.workingDir)
|
||||||
var pid: Pid
|
var pid: Pid
|
||||||
|
var err: OSErrorCode
|
||||||
|
|
||||||
if data.optionPoUsePath:
|
if data.optionPoUsePath:
|
||||||
res = posix_spawnp(pid, data.sysCommand, fops, attr, data.sysArgs, data.sysEnv)
|
res = posix_spawnp(pid, data.sysCommand, fops, attr, data.sysArgs, data.sysEnv)
|
||||||
|
if res != 0'i32: err = osLastError()
|
||||||
else:
|
else:
|
||||||
res = posix_spawn(pid, data.sysCommand, fops, attr, data.sysArgs, data.sysEnv)
|
res = posix_spawn(pid, data.sysCommand, fops, attr, data.sysArgs, data.sysEnv)
|
||||||
|
if res != 0'i32: err = osLastError()
|
||||||
|
|
||||||
discard posix_spawn_file_actions_destroy(fops)
|
discard posix_spawn_file_actions_destroy(fops)
|
||||||
discard posix_spawnattr_destroy(attr)
|
discard posix_spawnattr_destroy(attr)
|
||||||
chck res
|
if res != 0'i32: raiseOSError(err)
|
||||||
|
|
||||||
return pid
|
return pid
|
||||||
else:
|
else:
|
||||||
proc startProcessAuxFork(data: StartProcessData): Pid =
|
proc startProcessAuxFork(data: StartProcessData): Pid =
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue