boourns-unicorn 4.4.6 → 4.4.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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