serverengine 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2dcef89d936caacd6b3a181413a7e4d27141db61
4
- data.tar.gz: cd21b00e537cd7c9d7c3028998ef71166d7271d5
2
+ SHA256:
3
+ metadata.gz: 53e00b2c2ebec4b3f44d7afb6d519822bd215a94356d018d4de9c88b890ee944
4
+ data.tar.gz: 667633c2ebcda531c78976fbaf6f86da06cf8c8ef17f1913679f02b2184715f2
5
5
  SHA512:
6
- metadata.gz: a690050603b89d3ff1607cfc5866261f96e3b1b01e4bb925def377f26acb6f38d5fab18b188f8f1cf16442f859e477d94c2dac647ef216fd9dc5fdb1cb2eba93
7
- data.tar.gz: ecc5f0dc58a1a9d9ed19b19b35a296da0ba334fca5172ea74d30fae8ad6c63d305de68a53cf4dc3156890672cc2070362a89c555a7aad26bf8edd511fce5a49f
6
+ metadata.gz: 4cd38c03f674b8c9826e11bf88969abcc8797d71fbeaf1630fbb779473bf276850a006a12f9e4b422de132a8087bfc38c477347d76b943cc120194b06878f64d
7
+ data.tar.gz: 43a6c3773f01d987efb8724ffca4a604402cb0e1ab9bdb4ba3e13265e5820c169deca7720aabda780b7b34df7038191add977219a9d5bc84e0ba701ff17f3a95
data/Changelog CHANGED
@@ -1,3 +1,7 @@
1
+ 2019-11-16 version 2.2.0:
2
+
3
+ * Fix IPv6 dual-stack mode issue for TCP
4
+
1
5
  2019-04-22 version 2.1.1:
2
6
 
3
7
  * Fix bug to ignore SIGDUMP_SIGNAL
@@ -67,7 +67,7 @@ module ServerEngine
67
67
 
68
68
  def signal_handler_main(sig)
69
69
  # here always creates new thread to avoid
70
- # complicated race conditin in signal handlers
70
+ # complicated race condition in signal handlers
71
71
  Thread.new do
72
72
  begin
73
73
  enqueue(sig)
@@ -50,9 +50,11 @@ module ServerEngine
50
50
  private
51
51
 
52
52
  def listen_tcp_new(bind_ip, port)
53
- sock = TCPServer.new(bind_ip.to_s, port)
54
- sock.listen(Socket::SOMAXCONN) # TODO make backlog configurable if necessary
55
- return sock
53
+ # TCPServer.new doesn't set IPV6_V6ONLY flag, so use Addrinfo class instead.
54
+ # TODO: make backlog configurable if necessary
55
+ tsock = Addrinfo.tcp(bind_ip.to_s, port).listen(::Socket::SOMAXCONN)
56
+ tsock.autoclose = false
57
+ TCPServer.for_fd(tsock.fileno)
56
58
  end
57
59
 
58
60
  def listen_udp_new(bind_ip, port)
@@ -1,3 +1,3 @@
1
1
  module ServerEngine
2
- VERSION = "2.1.1"
2
+ VERSION = "2.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serverengine
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-23 00:00:00.000000000 Z
11
+ date: 2019-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sigdump
@@ -153,8 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubyforge_project:
157
- rubygems_version: 2.6.14.1
156
+ rubygems_version: 3.0.3
158
157
  signing_key:
159
158
  specification_version: 4
160
159
  summary: ServerEngine - multiprocess server framework