>>>>> "D" == Dave Thomas <Dave / PragmaticProgrammer.com> writes:

D> OK, but does that mean we need explicitly to detect require
D> loops? Assuming the $" behavior works (or can be made to work), is the 
D> reason for the test simply to detect potential bad style in the
D> programs being loaded, or is there something deeper here?

 I don't know, actually ruby must wait in some cases for example

   a = Thread.start do
      require 'tt'
      Tt.new
   end
   b = Thread.start do
      require 'tt'
      Tt.new
   end
   a.join
   b.join

 and the test for the detection is just :

		if (th == curr_thread) {
		    rb_raise(rb_eLoadError, "infinite load loop -- %s", f);
		}


Guy Decoux