summaryrefslogtreecommitdiff
path: root/lib/rubygems/core_ext
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-08 22:41:03 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-07-08 22:41:03 +0000
commit7083cebeaea83096128fc5ccb5f60bfbe5bcc939 (patch)
treefb25c12a6cc01a1a8de5221d64da632418e194a3 /lib/rubygems/core_ext
parentfa343a796fd256fc9098db7fdddf226fe5cbd181 (diff)
* 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
Diffstat (limited to 'lib/rubygems/core_ext')
-rwxr-xr-xlib/rubygems/core_ext/kernel_require.rb8
1 files changed, 8 insertions, 0 deletions
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 <tt>require</tt> 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