about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/rainbows/coolio/master.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/rainbows/coolio/master.rb b/lib/rainbows/coolio/master.rb
index 4877e8e..b253e67 100644
--- a/lib/rainbows/coolio/master.rb
+++ b/lib/rainbows/coolio/master.rb
@@ -7,15 +7,16 @@ class Rainbows::Coolio::Master < Coolio::IOWatcher
     @reader, @writer = Kgio::Pipe.new
     super(@reader)
     @queue = queue
+    @wbuf, @rbuf = "\0", "\0"
   end
 
   def <<(output)
     @queue << output
-    @writer.kgio_trywrite("\0")
+    @writer.kgio_trywrite(@wbuf)
   end
 
   def on_readable
-    if String === @reader.kgio_tryread(1)
+    if String === @reader.kgio_tryread(1, @rbuf)
       client, response = @queue.pop
       client.response_write(response)
     end