Sha256: 03217e9989869dc323470934711dd3bb6974bd898ffd494670397d1ee301b63e

Contents?: true

Size: 738 Bytes

Versions: 25

Compression:

Stored size: 738 Bytes

Contents

--- ruby-2.1.3/ext/openssl/lib/openssl/ssl.rb_orig	2014-10-24 13:09:44.000000000 -0500
+++ ruby-2.1.3/ext/openssl/lib/openssl/ssl.rb	2014-10-24 13:11:01.000000000 -0500
@@ -194,6 +194,14 @@
         begin
           ssl = OpenSSL::SSL::SSLSocket.new(sock, @ctx)
           ssl.sync_close = true
-          ssl.accept if @start_immediately
+          if @start_immediately
+            # Retry on EAGAIN (may be due to underlying inprogress for TLS handshake or renegotiation requested.)
+            # Any other error is rescued further.
+             begin
+              ssl.accept
+            rescue Errno::EAGAIN
+              retry
+            end
+          end
           ssl
         rescue SSLError => ex
           sock.close

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
clusterlb-0.1.32 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.31 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.30 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.29 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.28 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.27 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.26 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.25 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.24 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.23 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.22 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.21 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.20 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.19 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.17 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.16 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.15 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.14 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.13 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch
clusterlb-0.1.12 omnibus/config/patches/ruby/ruby_aix_2_1_3_ssl_EAGAIN.patch