aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems.rb')
-rw-r--r--lib/rubygems.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/rubygems.rb b/lib/rubygems.rb
index c8dbcad230..c84a67ba76 100644
--- a/lib/rubygems.rb
+++ b/lib/rubygems.rb
@@ -597,6 +597,9 @@ module Gem
test_syck = ENV['TEST_SYCK']
+ # Only Ruby 1.8 and 1.9 have syck
+ test_syck = false unless /^1\./ =~ RUBY_VERSION
+
unless test_syck
begin
gem 'psych', '>= 1.2.1'
@@ -778,6 +781,14 @@ module Gem
open path, 'rb' do |f|
f.read
end
+ rescue Errno::ENOLCK # NFS
+ if Thread.main != Thread.current
+ raise
+ else
+ open path, 'rb' do |f|
+ f.read
+ end
+ end
end
##