puma 3.8.1-java → 3.8.2-java

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puma might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0357a20d6102ee61afdf3fd696d6efe324a58df8
4
- data.tar.gz: 07c84a9b4498b382719aadef24206f78995adbcb
3
+ metadata.gz: 91719dbea8ca6efae2e28fd0e1b1ea277e3bd9a2
4
+ data.tar.gz: 8dea9d3913293bda4c2e466ba1139bda10e0e4b7
5
5
  SHA512:
6
- metadata.gz: e0d90d267c67bf674dde267c70c41bed3f1c6a0d334b70cb1ce990131622c882a43c0213a6c267e17013aedddf1348107a97e889f4583f2b3fb08f58f4d5804f
7
- data.tar.gz: d955a443fce0be8d576f7e5ad6038e875594dab0f8e780aa6842c7f3e1827113c3071628a72e620f0eb08efcbc65fe16065eb64a498031a2cc4f4ad64a2b550a
6
+ metadata.gz: 3dd382f9c20d221bf8b1fa9278aca6538c4ede1d284d23390706f913229a0f2f401da63ad82c3110519dc8f946919e06ac04b73da25d84f50420370f7e185d21
7
+ data.tar.gz: 73f2c6615370e2466012d166af27231e5689c84decee4629401a0e45e2a0e75a1bcc7b1ca2d30d6054401c810f5cdb327a940da63b4d2b0ca917705b3f652605
data/History.md CHANGED
@@ -1,18 +1,23 @@
1
+ ## 3.8.2 / 2017-03-14
2
+
3
+ * 1 bugfix:
4
+ * Deal with getsockopt with TCP\_INFO failing for sockets that say they're TCP but aren't really. (#1241)
5
+
1
6
  ## 3.8.1 / 2017-03-10
2
7
 
3
- * bugfixes:
8
+ * 1 bugfix:
4
9
  * Remove method call to method that no longer exists (#1239)
5
10
 
6
11
  ## 3.8.0 / 2017-03-09
7
12
 
8
- * bugfixes:
13
+ * 2 bugfixes:
9
14
  * Port from rack handler does not take precedence over config file in Rails 5.1.0.beta2+ and 5.0.1.rc3+ (#1234)
10
15
  * The `tmp/restart.txt` plugin no longer restricts the user from running more than one server from the same folder at a time (#1226)
11
16
 
12
- * features:
17
+ * 1 feature:
13
18
  * Closed clients are aborted to save capacity (#1227)
14
19
 
15
- * Refactors
20
+ * 1 refactor:
16
21
  * Bundler is no longer a dependency from tests (#1213)
17
22
 
18
23
  ## 3.7.1 / 2017-02-20
@@ -36,7 +41,7 @@
36
41
  * Minor refactor on Thread pool (#1088)
37
42
  * Removed a ton of unused constants, variables and files.
38
43
  * Use MRI macros when allocating heap memory
39
- * Use hooks for on_booted event. (#1160)
44
+ * Use hooks for on\_booted event. (#1160)
40
45
 
41
46
  * 14 bugfixes:
42
47
  * Add eof? method to NullIO? (#1169)
@@ -95,7 +95,7 @@ module Puma
95
95
  # too taxing on performance.
96
96
  module Const
97
97
 
98
- PUMA_VERSION = VERSION = "3.8.1".freeze
98
+ PUMA_VERSION = VERSION = "3.8.2".freeze
99
99
  CODE_NAME = "Sassy Salamander".freeze
100
100
  PUMA_SERVER_STRING = ['puma', PUMA_VERSION, CODE_NAME].join(' ').freeze
101
101
 
Binary file
@@ -78,6 +78,8 @@ module Puma
78
78
  ENV['RACK_ENV'] ||= "development"
79
79
 
80
80
  @mode = :http
81
+
82
+ @precheck_closing = true
81
83
  end
82
84
 
83
85
  attr_accessor :binder, :leak_stack_on_error
@@ -121,10 +123,18 @@ module Puma
121
123
 
122
124
  def closed_socket?(socket)
123
125
  return false unless socket.kind_of? TCPSocket
124
- tcp_info = socket.getsockopt(Socket::SOL_TCP, Socket::TCP_INFO)
125
- state = tcp_info.unpack(UNPACK_TCP_STATE_FROM_TCP_INFO)[0]
126
- # TIME_WAIT: 6, CLOSE: 7, CLOSE_WAIT: 8, LAST_ACK: 9, CLOSING: 11
127
- (state >= 6 && state <= 9) || state == 11
126
+ return false unless @precheck_closing
127
+
128
+ begin
129
+ tcp_info = socket.getsockopt(Socket::SOL_TCP, Socket::TCP_INFO)
130
+ rescue IOError, SystemCallError
131
+ @precheck_closing = false
132
+ false
133
+ else
134
+ state = tcp_info.unpack(UNPACK_TCP_STATE_FROM_TCP_INFO)[0]
135
+ # TIME_WAIT: 6, CLOSE: 7, CLOSE_WAIT: 8, LAST_ACK: 9, CLOSING: 11
136
+ (state >= 6 && state <= 9) || state == 11
137
+ end
128
138
  end
129
139
  else
130
140
  def cork_socket(socket)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puma
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.1
4
+ version: 3.8.2
5
5
  platform: java
6
6
  authors:
7
7
  - Evan Phoenix
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-10 00:00:00.000000000 Z
11
+ date: 2017-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -63,7 +63,7 @@ dependencies:
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: '3.15'
66
+ version: '3.14'
67
67
  name: hoe
68
68
  prerelease: false
69
69
  type: :development
@@ -71,11 +71,8 @@ dependencies:
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '3.15'
75
- description: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server
76
- for Ruby/Rack applications. Puma is intended for use in both development and production
77
- environments. In order to get the best throughput, it is highly recommended that
78
- you use a Ruby implementation with real threads like Rubinius or JRuby.
74
+ version: '3.14'
75
+ description: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications. Puma is intended for use in both development and production environments. In order to get the best throughput, it is highly recommended that you use a Ruby implementation with real threads like Rubinius or JRuby.
79
76
  email:
80
77
  - evan@phx.io
81
78
  executables:
@@ -200,6 +197,5 @@ rubyforge_project:
200
197
  rubygems_version: 2.6.8
201
198
  signing_key:
202
199
  specification_version: 4
203
- summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for
204
- Ruby/Rack applications
200
+ summary: Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server for Ruby/Rack applications
205
201
  test_files: []