diff options
-rw-r--r-- | lib/rainbows/coolio/master.rb | 5 |
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 |