boourns-unicorn 4.4.6 → 4.4.8

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.
@@ -626,7 +626,7 @@ static VALUE HttpParser_clear(VALUE self)
626
626
 
627
627
  http_parser_init(hp);
628
628
  rb_funcall(hp->env, id_clear, 0);
629
- rb_funcall(self, id_response_start_sent, 1, Qfalse);
629
+ rb_ivar_set(self, id_response_start_sent, Qfalse);
630
630
 
631
631
  return self;
632
632
  }
@@ -1032,7 +1032,7 @@ void Init_unicorn_http(void)
1032
1032
  SET_GLOBAL(g_http_connection, "CONNECTION");
1033
1033
  id_clear = rb_intern("clear");
1034
1034
  id_set_backtrace = rb_intern("set_backtrace");
1035
- id_response_start_sent = rb_intern("response_start_sent=");
1035
+ id_response_start_sent = rb_intern("@response_start_sent");
1036
1036
  init_unicorn_httpdate();
1037
1037
  }
1038
1038
  #undef SET_GLOBAL
@@ -99,8 +99,13 @@ class Unicorn::Configurator
99
99
  end
100
100
  if set[:check_client_connection]
101
101
  set[:listeners].each do |address|
102
- if set[:listener_opts][address][:tcp_nopush] == true || set[:listener_opts][address][:tcp_nodelay] == true
103
- raise ArgumentError, "With check_client_connection set to true both :tcp_nopush and :tcp_nodelay listener options must be set to false."
102
+ if set[:listener_opts][address][:tcp_nopush] == true
103
+ raise ArgumentError,
104
+ "check_client_connection is incompatible with tcp_nopush:true"
105
+ end
106
+ if set[:listener_opts][address][:tcp_nodelay] == true
107
+ raise ArgumentError,
108
+ "check_client_connection is incompatible with tcp_nodelay:true"
104
109
  end
105
110
  end
106
111
  end
@@ -464,6 +469,12 @@ class Unicorn::Configurator
464
469
 
465
470
  # When enabled, unicorn will check the client connection by writing
466
471
  # the beginning of the HTTP headers before calling the application.
472
+ #
473
+ # This will prevent calling the application for clients who have
474
+ # disconnected while their connection was queued.
475
+ #
476
+ # This option cannot be used in conjunction with tcp_nodelay or
477
+ # tcp_nopush.
467
478
  def check_client_connection(bool)
468
479
  set_bool(:check_client_connection, bool)
469
480
  end
@@ -138,7 +138,7 @@ class WebServerTest < Test::Unit::TestCase
138
138
  assert_nothing_raised { sock.close }
139
139
  end
140
140
 
141
- def notest_client_shutdown_write_truncates
141
+ def test_client_shutdown_write_truncates
142
142
  sock = nil
143
143
  buf = nil
144
144
  bs = 15609315 * rand
@@ -14,7 +14,7 @@ end.compact
14
14
 
15
15
  Gem::Specification.new do |s|
16
16
  s.name = %q{boourns-unicorn}
17
- s.version = "4.4.6"
17
+ s.version = "4.4.8"
18
18
  s.authors = ["#{name} hackers"]
19
19
  s.summary = summary
20
20
  s.date = Time.now.utc.strftime('%Y-%m-%d')
metadata CHANGED
@@ -3,7 +3,7 @@ name: !binary |-
3
3
  Ym9vdXJucy11bmljb3Ju
4
4
  version: !ruby/object:Gem::Version
5
5
  version: !binary |-
6
- NC40LjY=
6
+ NC40Ljg=
7
7
  prerelease:
8
8
  platform: ruby
9
9
  authors:
@@ -11,12 +11,12 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-06 00:00:00.000000000 Z
14
+ date: 2012-11-28 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: !binary |-
18
18
  cmFjaw==
19
- requirement: &70158536253420 !ruby/object:Gem::Requirement
19
+ requirement: &70290006096480 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
22
  - - ! '>='
@@ -24,11 +24,11 @@ dependencies:
24
24
  version: '0'
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70158536253420
27
+ version_requirements: *70290006096480
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: !binary |-
30
30
  a2dpbw==
31
- requirement: &70158536252620 !ruby/object:Gem::Requirement
31
+ requirement: &70290006095640 !ruby/object:Gem::Requirement
32
32
  none: false
33
33
  requirements:
34
34
  - - !binary |-
@@ -38,11 +38,11 @@ dependencies:
38
38
  Mi42
39
39
  type: :runtime
40
40
  prerelease: false
41
- version_requirements: *70158536252620
41
+ version_requirements: *70290006095640
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: !binary |-
44
44
  cmFpbmRyb3Bz
45
- requirement: &70158536251700 !ruby/object:Gem::Requirement
45
+ requirement: &70290006093640 !ruby/object:Gem::Requirement
46
46
  none: false
47
47
  requirements:
48
48
  - - !binary |-
@@ -52,11 +52,11 @@ dependencies:
52
52
  MC43
53
53
  type: :runtime
54
54
  prerelease: false
55
- version_requirements: *70158536251700
55
+ version_requirements: *70290006093640
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: !binary |-
58
58
  aXNvbGF0ZQ==
59
- requirement: &70158536250900 !ruby/object:Gem::Requirement
59
+ requirement: &70290006092440 !ruby/object:Gem::Requirement
60
60
  none: false
61
61
  requirements:
62
62
  - - !binary |-
@@ -66,11 +66,11 @@ dependencies:
66
66
  My4y
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *70158536250900
69
+ version_requirements: *70290006092440
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: !binary |-
72
72
  d3Jvbmdkb2M=
73
- requirement: &70158536249720 !ruby/object:Gem::Requirement
73
+ requirement: &70290006090280 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - !binary |-
@@ -80,7 +80,7 @@ dependencies:
80
80
  MS42LjE=
81
81
  type: :development
82
82
  prerelease: false
83
- version_requirements: *70158536249720
83
+ version_requirements: *70290006090280
84
84
  description: ! '\Unicorn is an HTTP server for Rack applications designed to only
85
85
  serve
86
86