osproc: use push stacktrace:off instead of nostackframe

This commit is contained in:
Michał Zieliński
2014-02-18 20:22:40 +01:00
parent 4c09fc110f
commit 1f376d8594

View File

@@ -606,10 +606,11 @@ elif not defined(useNimRtl):
optionPoStdErrToStdOut: bool
proc startProcessAuxSpawn(data: TStartProcessData): TPid {.tags: [FExecIO, FReadEnv].}
proc startProcessAuxFork(data: TStartProcessData): TPid {.tags: [FExecIO, FReadEnv].}
{.push stacktrace: off, profiler: off.}
proc startProcessAfterFork(data: ptr TStartProcessData) {.
tags: [FExecIO, FReadEnv], noStackFrame, cdecl.}
tags: [FExecIO, FReadEnv], cdecl.}
{.pop.}
proc startProcess(command: string,
workingDir: string = "",
@@ -774,7 +775,8 @@ elif not defined(useNimRtl):
return pid
proc startProcessFail(data: ptr TStartProcessData) {.noStackFrame.} =
{.push stacktrace: off, profiler: off.}
proc startProcessFail(data: ptr TStartProcessData) =
var error: cint = errno
discard write(data.pErrorPipe[writeIdx], addr error, sizeof(error))
exitnow(1)
@@ -811,6 +813,7 @@ elif not defined(useNimRtl):
discard execve(data.sysCommand, data.sysArgs, data.sysEnv)
startProcessFail(data)
{.pop}
proc close(p: PProcess) =
if p.inStream != nil: close(p.inStream)