avoid Errno::EAGAIN, harder
commit42747db815ad668b20849afb2a9dcdd1319713ae
authorEric Wong <normalperson@yhbt.net>
Tue, 2 Nov 2010 19:32:23 +0000 (2 12:32 -0700)
committerEric Wong <normalperson@yhbt.net>
Sat, 6 Nov 2010 01:36:08 +0000 (5 18:36 -0700)
tree6dcd7cb02f11bcfad40de6c72a9a6570df71c4d7
parent427ef4a2953a4b2d34f7dd89566a0cb5ee6e734d
avoid Errno::EAGAIN, harder

Errno::EAGAIN is still a problem under Ruby 1.9.2, so try harder
to avoid it and use kgio methods.  Even when 1.9.3 is available,
kgio will still be faster as exceptions are slower than normal
return values.
lib/rainbows/client.rb
lib/rainbows/fiber/base.rb
lib/rainbows/fiber/io.rb
lib/rainbows/fiber/rev/methods.rb
lib/rainbows/process_client.rb
lib/rainbows/rev/client.rb
lib/rainbows/rev/master.rb
lib/rainbows/timed_read.rb [moved from lib/rainbows/read_timeout.rb with 65% similarity]
lib/rainbows/writer_thread_pool.rb
lib/rainbows/writer_thread_spawn.rb