about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/rainbows/epoll/client.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/rainbows/epoll/client.rb b/lib/rainbows/epoll/client.rb
index d3a06eb..891e959 100644
--- a/lib/rainbows/epoll/client.rb
+++ b/lib/rainbows/epoll/client.rb
@@ -96,12 +96,12 @@ module Rainbows::Epoll::Client
   end
 
   def ev_write_response(status, headers, body, alive)
+    @state = alive ? :headers : :close
     if body.respond_to?(:to_path)
       write_response_path(status, headers, body, alive)
     else
       write_response(status, headers, body, alive)
     end
-    @state = alive ? :headers : :close
     on_read(Z) if alive && 0 == @wr_queue.size && 0 != @buf.size
   end