> While a thread is requiring a given file, another thread which
> requires the same file will be blocked until the former thread
> finishes loading, and the result will be false.

Currently with 1.8.7 (for me) the secondmost thread continues
immediately [with false returned] and with 1.9 the second thread
blocks then loads the required file a second time. Are these
expected?

test files:

load_simultaneous.rb:

a = Thread.new { require 'long'; print "done1\n"}
print require( 'long'), "\n"
a.join

file 'long.rb':

print "in long #{Thread.current}\n"
sleep 3
print "done long\n"



Thanks for the help.
-=R

[1] with ruby 1.9.0 (2008-10-27 revision 17865) [i686-linux] which
might be outdated.