rxio 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f13337de7a44b082d96467f20dde9252ed2951fd
4
- data.tar.gz: 90b34e1beec96333f80d2918dfc4c4cffd7efce7
3
+ metadata.gz: e24aeca7703c5d851ab242ab2aeadbed4e1579b3
4
+ data.tar.gz: 03a7d32a082ace38d4019d44b7a7344d95012ea4
5
5
  SHA512:
6
- metadata.gz: c7be721d92dc697fe7d0ac3905d4708798d71621809f467bdfd494ed3c4ed15522f1d95866857ad184ebff857116b6c4d5e8dc3c46dc962559fa00ba3848f26b
7
- data.tar.gz: 04cf19b64496e7b31e322680f0fba034fab2cd2fc3e54c27013d4628ac9b43f448b2ff101a1138f60ff5ae366514af4f86eb325a8ae1bdd2b100e4c2f0c926f7
6
+ metadata.gz: c4640365e17cea559ba9ab0fe16ac03f5813ab6db0fb143babcaf9ac5e6dc38f8e27d5a73050a3f08dee220926f0828cb4e150e53a8bb9bcb84f857f916e9f65
7
+ data.tar.gz: 576fc4737f981da5bb9a0a7f9245d775248745f2a3a91bda7fba3e510f9e6f364137cc9bd1389357058235f5abf523fa995707ba289615e6ee42337fcc6c5bb4
data/lib/rxio/io_base.rb CHANGED
@@ -47,8 +47,17 @@ module RxIO
47
47
  # Check Endpoint
48
48
  return unless e
49
49
 
50
- # Read Chunk from Socket
51
- chunk = s.read_nonblock CHUNK_SIZE rescue nil
50
+ # OpenSSL doesn't play nice with 'select' because of intermediate buffering.
51
+ # Therefore we loop until we either have an explicit error or a signal to wait.
52
+ done = false
53
+ chunk = ''
54
+ until done || !chunk
55
+ begin
56
+ chunk << s.read_nonblock(CHUNK_SIZE)
57
+ rescue Exception => ex
58
+ if ex.is_a? OpenSSL::SSL::SSLErrorWaitReadable; then done = true; else chunk = nil; end
59
+ end
60
+ end
52
61
 
53
62
  # Drop Endpoint & Abort on Error
54
63
  return drop_endpoint e unless chunk
data/lib/rxio/version.rb CHANGED
@@ -5,5 +5,5 @@
5
5
  module RxIO
6
6
 
7
7
  # Version
8
- VERSION = '1.2.2'
8
+ VERSION = '1.2.3'
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rxio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eresse