From 443df6304326c74779bcc2eec134387586497108 Mon Sep 17 00:00:00 2001 From: Miklos Fazekas Date: Sat, 26 Mar 2016 10:22:37 +0100 Subject: Updated ansibl script, cleanup RubyCompat::io_select --- lib/net/ssh/ruby_compat.rb | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) (limited to 'lib/net/ssh/ruby_compat.rb') diff --git a/lib/net/ssh/ruby_compat.rb b/lib/net/ssh/ruby_compat.rb index 2e9ef4f..d4abeb4 100644 --- a/lib/net/ssh/ruby_compat.rb +++ b/lib/net/ssh/ruby_compat.rb @@ -16,31 +16,9 @@ module Net; module SSH # This class contains miscellaneous patches and workarounds # for different ruby implementations. class Compat - - # A workaround for an IO#select threading bug in certain versions of MRI 1.8. - # See: http://net-ssh.lighthouseapp.com/projects/36253/tickets/1-ioselect-threading-bug-in-ruby-18 - # The root issue is documented here: http://redmine.ruby-lang.org/issues/show/1993 - if RUBY_VERSION >= '1.9' || RUBY_PLATFORM == 'java' - def self.io_select(*params) - IO.select(*params) - end - else - SELECT_MUTEX = Mutex.new - def self.io_select(*params) - # It should be safe to wrap calls in a mutex when the timeout is 0 - # (that is, the call is not supposed to block). - # We leave blocking calls unprotected to avoid causing deadlocks. - # This should still catch the main case for Capistrano users. - if params[3] == 0 - SELECT_MUTEX.synchronize do - IO.select(*params) - end - else - IO.select(*params) - end - end + def self.io_select(*params) + IO.select(*params) end - end end; end -- cgit v1.2.1