about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/rainbows/event_machine.rb3
-rw-r--r--lib/rainbows/rev/client.rb3
-rw-r--r--lib/rainbows/rev/thread.rb3
3 files changed, 3 insertions, 6 deletions
diff --git a/lib/rainbows/event_machine.rb b/lib/rainbows/event_machine.rb
index 99fa32e..8029b1a 100644
--- a/lib/rainbows/event_machine.rb
+++ b/lib/rainbows/event_machine.rb
@@ -91,10 +91,9 @@ module Rainbows::EventMachine
       # long-running async response
       (response.nil? || -1 == response[0]) and return @state = :close
 
-      alive = @hp.keepalive? && G.alive && G.kato > 0
+      alive = @hp.next? && G.alive && G.kato > 0
       em_write_response(response, alive)
       if alive
-        @hp.reset
         @state = :headers
         if @buf.empty?
           set_comm_inactivity_timeout(G.kato)
diff --git a/lib/rainbows/rev/client.rb b/lib/rainbows/rev/client.rb
index b212f5c..8c39792 100644
--- a/lib/rainbows/rev/client.rb
+++ b/lib/rainbows/rev/client.rb
@@ -125,9 +125,8 @@ class Rainbows::Rev::Client < ::Rev::IO
     @env[REMOTE_ADDR] = @_io.kgio_addr
     response = APP.call(@env.update(RACK_DEFAULTS))
 
-    rev_write_response(response, alive = @hp.keepalive? && G.alive)
+    rev_write_response(response, alive = @hp.next? && G.alive)
     return quit unless alive && :close != @state
-    @hp.reset
     @state = :headers
     disable if enabled?
   end
diff --git a/lib/rainbows/rev/thread.rb b/lib/rainbows/rev/thread.rb
index 2356ae2..0f36ce5 100644
--- a/lib/rainbows/rev/thread.rb
+++ b/lib/rainbows/rev/thread.rb
@@ -20,11 +20,10 @@ module Rainbows
 
       # this is only called in the master thread
       def response_write(response)
-        alive = @hp.keepalive? && G.alive
+        alive = @hp.next? && G.alive
         rev_write_response(response, alive)
         return quit unless alive && :close != @state
 
-        @hp.reset
         @state = :headers
       end