surro-gate 0.1.0 → 0.1.1

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: 23723ea57a4d00802173cfd2f9701b79a5815385
4
- data.tar.gz: f9f596cea08d8bcf926823ccfc3599e0d5c618c9
3
+ metadata.gz: ad375981bd8f2b842ba825df243cd373b6a458a6
4
+ data.tar.gz: 6b56516f80d5e2c0487f8a6ae694245287f7cf69
5
5
  SHA512:
6
- metadata.gz: 6660ec99537aa1994670ea471d8b4df099cfa376b22d5bd403dcd2652d302374824d3ef22b16ea177ee62b17a5d169a0ef9eb97c4a8d8dfe6e30a37d17f2b943
7
- data.tar.gz: 9666acf2ab83171d83f997f80d784b740a499ad6458cd57c9887562c4f6cc94822b7eefd8d4302c379ea921ea282095ffe6a5ebf4b1b1f3bcebca9246da5a773
6
+ metadata.gz: 71e1ea8a327d5ded2f9fef6ba217cb46a473054cdbedafbbde8b7646ab8ea98080cf4e1a6c4c2817143644dc8e47231a9dc6e1cab0ab0078875520d6b36da475
7
+ data.tar.gz: c9493e2bf69920c0d4ffe86c1ec2ce1ae27bb85e34c9a7365c2955cbeac24f16c7820537de70efda17b58c31d961c82a2b797d7f27262c096abf2ec20342a7fe
@@ -55,6 +55,9 @@ module SurroGate
55
55
  dst = monitors.reject { |m| m == src }.first
56
56
  # Set up a proc for future transmissions
57
57
  src.value = proc do
58
+ # Clean up the connection if one of the endpoints gets closed
59
+ cleanup(src.io, dst.io) if src.io.closed? || dst.io.closed?
60
+ # Do the transmission and return with the bytes transferred
58
61
  transmit(src.io, dst.io) if src.readable? && dst.writable?
59
62
  end
60
63
  end
@@ -90,8 +93,9 @@ module SurroGate
90
93
 
91
94
  def thread_stop
92
95
  return if @thread.nil?
93
- @thread.kill
96
+ thread = @thread
94
97
  @thread = nil
98
+ thread.kill
95
99
  end
96
100
 
97
101
  def reactor
@@ -1,3 +1,3 @@
1
1
  module SurroGate
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: surro-gate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dávid Halász
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-15 00:00:00.000000000 Z
11
+ date: 2016-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nio4r