about summary refs log tree commit homepage
path: root/lib/rainbows/process_client.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rainbows/process_client.rb')
-rw-r--r--lib/rainbows/process_client.rb8
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/rainbows/process_client.rb b/lib/rainbows/process_client.rb
index d2c9d0e..d66c1ae 100644
--- a/lib/rainbows/process_client.rb
+++ b/lib/rainbows/process_client.rb
@@ -9,10 +9,6 @@ module Rainbows::ProcessClient
   TeeInput = Rainbows::TeeInput
   include Rainbows::Const
 
-  def wait_headers_readable(client)
-    IO.select([client], nil, nil, G.kato)
-  end
-
   # once a client is accepted, it is processed in its entirety here
   # in 3 easy steps: read request, call app, write app response
   # this is used by synchronous concurrency models
@@ -25,8 +21,8 @@ module Rainbows::ProcessClient
 
     begin # loop
       until env = hp.parse
-        wait_headers_readable(client) or return
-        buf << client.kgio_read!(16384)
+        client.timed_read(buf2 ||= "") or return
+        buf << buf2
       end
 
       env[CLIENT_IO] = client