Hi,
In message "[ruby-talk:12400] Re: RCR: Block form of Dir.chdir"
on 01/03/11, YANAGAWA Kazuhisa <kjana / os.xaxon.ne.jp> writes:
|In message <Pine.LNX.3.96.1010310144705.3235D-100000 / relayer>
|matju / sympatico.ca writes:
|
|> > Dir.chdir(new_dir) {
|> > # work in new_dir...
|> > }
|>
|> Sounds good to me. If File.open can, why not this one.
|
|``Because chdir changes context of a program'' ....I heard such. That
|is, if one thread execute chdir, a working directory of other threads
|also changed. This behavior can break an assumption on programming.
That's what I said for 2 previous almost identical requests. In this
sense, Guy Decoux did successfully read my mind again in [ruby-talk:12406].
|I personally think, we can alter the implementer's mind when more
|complaints are arised :-)
Yes. See Luke 18:2-5, if interested.
I happen to find that even though I avoid block form of Dir.chdir, the
following code is thread unsafe anyway.
prev_dir = Dir.pwd
Dir.chdir(new_dir)
# work in new_dir...
Dir.chdir(prev_dir)
But I'm not going to make current directory thread independent.
matz.