From 894cb73887c106acc793f0317ee849ae215ead56 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 25 Oct 2010 22:15:47 +0000 Subject: reduce dependency on IO#write_nonblock kgio_trywrite is superior if it is available. --- lib/rainbows/error.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/rainbows/error.rb') diff --git a/lib/rainbows/error.rb b/lib/rainbows/error.rb index bdbfdc5..68cdec4 100644 --- a/lib/rainbows/error.rb +++ b/lib/rainbows/error.rb @@ -9,7 +9,13 @@ module Rainbows::Error # if the socket is already closed or broken. We'll always ensure # the socket is closed at the end of this function def self.write(io, e) - msg = response(e) and io.write_nonblock(msg) + if msg = response(e) + if io.respond_to?(:kgio_trywrite) + io.kgio_trywrite(msg) + else + io.write_nonblock(msg) + end + end rescue end -- cgit v1.2.3-24-ge0c7