diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 762ecdf857..ddadd0f797 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -788,7 +788,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]} def self.open_with_flock(path, flags, &block) File.open(path, flags) do |io| - unless java_platform? + if !java_platform? && !solaris_platform? begin io.flock(File::LOCK_EX) rescue Errno::ENOSYS, Errno::ENOTSUP @@ -1015,6 +1015,13 @@ An Array (#{env.inspect}) was passed in from #{caller[3]} RUBY_PLATFORM == "java" end + ## + # Is this platform Solaris? + + def self.solaris_platform? + RUBY_PLATFORM =~ /solaris/ + end + ## # Load +plugins+ as Ruby files