From 1f28534fce2b30bf3099ea0d014b62ac4a3205f0 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 30 Dec 2010 08:32:23 +0000 Subject: coolio/master: small garbage reduction Creating unnecessary string objects for every response is not a good idea. --- lib/rainbows/coolio/master.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/rainbows/coolio') 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 -- cgit v1.2.3-24-ge0c7