Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Unix module and threads
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Keith Wansbrough <Keith.Wansbrough@c...>
Subject: Re: [Caml-list] Unix module and threads
Janne Hellsten <janne@hybrid.fi> writes:

> Thank you Markus and David, this is sort of what I was afraid of (e.g., 
> curdir is shared among threads). Thank you for clarifying this.
> 
> As my build scripts require the working directory to be set, I think I 
> have to work-around this and do something along the lines of:
> 
>     Unix.system "cd my_working_dir && build_cmd"
> 
> I wonder if there's some other way of doing this portably and in a 
> thread-safe fashion?

Instead of using Unix.system, do a fork()-and-exec() (as Unix.system
presumably does under the hood), and set the current directory in the
child process after the fork and before the exec.  Take a look at the
implementation of Unix.system in otherlibs/unix/unix.ml to see what I
mean.

--KW 8-)

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners