about summary refs log tree commit homepage
path: root/lib/rainbows/stream_response_epoll/client.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rainbows/stream_response_epoll/client.rb')
-rw-r--r--lib/rainbows/stream_response_epoll/client.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rainbows/stream_response_epoll/client.rb b/lib/rainbows/stream_response_epoll/client.rb
index cf3056e..db303b0 100644
--- a/lib/rainbows/stream_response_epoll/client.rb
+++ b/lib/rainbows/stream_response_epoll/client.rb
@@ -19,7 +19,7 @@ class Rainbows::StreamResponseEpoll::Client
 
   def initialize(io, unwritten)
     @closed = false
-    @to_io = io.dup
+    @to_io = io
     @wr_queue = [ unwritten.dup ]
     EP.set(self, OUT)
   end
@@ -50,6 +50,7 @@ class Rainbows::StreamResponseEpoll::Client
 
   def on_write_complete
     if @closed
+      @to_io.shutdown
       @to_io.close
       N.decr(0, 1)
     end