On Wed, Dec 24, 2008 at 07:13:55AM +0900, Charles Oliver Nutter wrote:
> Perhaps it's a behavior that should be discouraged, or even qualifies as  
> a "bug" in the user's code, but it and many other peculiar scenarios are  
> physically allowed by the require structure today.
>
> file.rb:
>
> require 'file.rb'
>
> This sort of thing is obviously unusual code, but it's allowed by the  
> conventions of require today. If you are saying that we should disallow  
> circular requires to ever happen...well, that may be a valid argument,  
> but it still represents a behavioral change.

Currently in a single-threaded application the above require call is a
no-op.  Using a recursive mutex would allow it to continue to be a
no-op.

Paul