about summary refs log tree commit homepage
path: root/lib/rainbows/revactor.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-08-28 06:50:51 +0000
committerEric Wong <normalperson@yhbt.net>2010-08-28 06:53:12 +0000
commit32d3b1f052810eb15362d001d1501be0e2da88d8 (patch)
tree3e36ef1c071eb736c431d0972a24024ba2347aa9 /lib/rainbows/revactor.rb
parent108d6afd7ff390bb594c99ba23c91163fa98d8c0 (diff)
downloadrainbows-32d3b1f052810eb15362d001d1501be0e2da88d8.tar.gz
Although this behavior is mentioned on the documentation,
this was broken under EventMachine, Rev*, and Revactor.

Furthermore, we set the "Connection: close" header to allow the
client to optimize is handling of non-keepalive connections.
Diffstat (limited to 'lib/rainbows/revactor.rb')
-rw-r--r--lib/rainbows/revactor.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rainbows/revactor.rb b/lib/rainbows/revactor.rb
index 10b7d3c..388efa6 100644
--- a/lib/rainbows/revactor.rb
+++ b/lib/rainbows/revactor.rb
@@ -62,7 +62,7 @@ module Rainbows::Revactor
       if hp.headers?
         headers = HH.new(headers)
         range = make_range!(env, status, headers) and status = range.shift
-        env = false unless hp.keepalive? && G.alive
+        env = false unless hp.keepalive? && G.alive && G.kato > 0
         headers[CONNECTION] = env ? KEEP_ALIVE : CLOSE
         client.write(response_header(status, headers))
       end