From 7083cebeaea83096128fc5ccb5f60bfbe5bcc939 Mon Sep 17 00:00:00 2001 From: drbrain Date: Mon, 8 Jul 2013 22:41:03 +0000 Subject: * lib/rubygems: Update to RubyGems 2.0.4. See https://github.com/rubygems/rubygems/blob/2.0/History.txt for changes git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/core_ext/kernel_require.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/rubygems/core_ext/kernel_require.rb') diff --git a/lib/rubygems/core_ext/kernel_require.rb b/lib/rubygems/core_ext/kernel_require.rb index e6dfce644f..71062410cb 100755 --- a/lib/rubygems/core_ext/kernel_require.rb +++ b/lib/rubygems/core_ext/kernel_require.rb @@ -4,6 +4,8 @@ # See LICENSE.txt for permissions. #++ +require 'monitor' + module Kernel if defined?(gem_original_require) then @@ -31,7 +33,11 @@ module Kernel # The normal require functionality of returning false if # that file has already been loaded is preserved. + ACTIVATION_MONITOR = Monitor.new + def require path + ACTIVATION_MONITOR.enter + spec = Gem.find_unresolved_default_spec(path) if spec Gem.remove_unresolved_default_spec(spec) @@ -111,6 +117,8 @@ module Kernel end raise load_error + ensure + ACTIVATION_MONITOR.exit end private :require -- cgit v1.2.3