[racket] many permissions & other problems using packages in 5.3.6... workarounds?
On Sun, 13 Oct 2013 21:37:55 +0200, Eli Barzilay <eli at barzilay.org> wrote:
> 2. One thing on Windows that prevents removing a directory is when
> there's a process whose working directory you're trying to delete.
> (I keep running into that when I try to remove some directory and
> there's a cygwin shell in that directory.)
>
> With Racket, you can see this effect too, with what looks like
> changing the process directory for subprocess execution (which I
> vaguely remember as something that you did at some point). Here's
> an experiment that demonstrates this (starting from some existing
> directory), and running on two shells, marked with [N]:
On linux the cwd is correctly set between fork and exec where it has no
influence on the parent (racket) process. On windows the cwd is set in the
parent before the call to CreateProcess. Is there any reason to not use
the lpCurrentDirectory argument to CreateProcess to leave the parent
untouched? This would prevent these unpredictable changes to the real os
cwd.
Tobias