summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorcheatfate <ka@hardcore.kiev.ua>2016-10-21 11:15:33 +0300
committercheatfate <ka@hardcore.kiev.ua>2016-10-21 11:15:33 +0300
commit0c69891b8d7628d0a8b12135447f4aef63224e10 (patch)
treee43e29d3a75f8aeb1d89ec28b84c0477bc509b09 /lib
parentd60448fa693c0e1c483232f8fdef39fd2a927e20 (diff)
downloadNim-0c69891b8d7628d0a8b12135447f4aef63224e10.tar.gz
One more attempt to fix #4867
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/osproc.nim4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/pure/osproc.nim b/lib/pure/osproc.nim
index 6c2debb1b..44ec5b548 100644
--- a/lib/pure/osproc.nim
+++ b/lib/pure/osproc.nim
@@ -774,7 +774,10 @@ elif not defined(useNimRtl):
     data.workingDir = workingDir
 
     when useProcessAuxSpawn:
+      var currentDir = getCurrentDir()
       pid = startProcessAuxSpawn(data)
+      if workingDir.len > 0:
+        setCurrentDir(currentDir)
     else:
       pid = startProcessAuxFork(data)
 
@@ -835,7 +838,6 @@ elif not defined(useNimRtl):
           chck posix_spawn_file_actions_adddup2(fops, data.pStderr[writeIdx], 2)
 
       var res: cint
-      # FIXME: chdir is global to process
       if data.workingDir.len > 0:
         setCurrentDir($data.workingDir)
       var pid: Pid