summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorMichał Zieliński <michal@zielinscy.org.pl>2014-02-18 20:22:40 +0100
committerMichał Zieliński <michal@zielinscy.org.pl>2014-02-18 20:22:40 +0100
commit1f376d8594d9e20aa20b900853a166cbb49af5bf (patch)
treec4b3adc06547eb1c73bb501cdde96fdfead59956 /lib
parent4c09fc110f3d269c34ccbfabb665bc34c768b63e (diff)
downloadNim-1f376d8594d9e20aa20b900853a166cbb49af5bf.tar.gz
osproc: use push stacktrace:off instead of nostackframe
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/osproc.nim9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim
index aa2f6f937..93d737aa6 100644
--- a/lib/pure/osproc.nim
+++ b/lib/pure/osproc.nim
@@ -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)