Hi all, every now and then in my production server, I'm
getting Errno::EAGAIN errors thrown by by
OpenSSL::SSL::SSLSocket#connect_nonblock from at
https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L938

I'm using JRuby, so initially I assumed it was just a JRuby implementation
bug and that MRI's  OpenSSL::SSL::SSLSocket#connect_nonblock must
handle Errno::EAGAIN internally, but now that I think about it, the only
way to handle Errno::EAGAIN is to wait for a bit and then retry, and
connect_nonblock isn't supposed to block so how would it do that....

Since this only happens once in a while in production, I don't actually
have a way of seeing if MRI Ruby will also throw this error, but I can't
see how it wouldn't if connect_nonblock can't block for a while before
retrying, but let me know if I'm wrong. If I am correct, could I submit a
pull request to catch Errno::EAGAIN at
https://github.com/ruby/ruby/blob/trunk/lib/net/http.rb#L938 and then retry?

Thanks!
Mohamed
(supressed text/html)
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>