From 905f0ff393629ddb4d70e3dc221b016128c47415 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 28 Jun 2011 07:39:35 +0000 Subject: require kgio 2.5 for kgio_wait_readable(timeout) Since kgio_wait_*able in kgio 2.5 takes an optional timeout argument, we no longer have to load the extra "io/wait" module. This saves us a small amount of some memory and also removes the extra ioctl(FIONREAD) syscall IO#wait enforces. Like IO#wait in Ruby 1.9.3dev, kgio_wait_readable may use ppoll() to wait on high-numbered file descriptors as efficiently as it waits on low-numbered descriptors. --- lib/rainbows/fiber/coolio/methods.rb | 2 +- lib/rainbows/fiber/io/methods.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/rainbows/fiber') diff --git a/lib/rainbows/fiber/coolio/methods.rb b/lib/rainbows/fiber/coolio/methods.rb index 2e664ff..a327148 100644 --- a/lib/rainbows/fiber/coolio/methods.rb +++ b/lib/rainbows/fiber/coolio/methods.rb @@ -28,7 +28,7 @@ module Rainbows::Fiber::Coolio::Methods @w.disable end - def kgio_wait_readable + def kgio_wait_readable(timeout = nil) @r = Watcher.new(self, :r) unless defined?(@r) @r.enable unless @r.enabled? Fiber.yield diff --git a/lib/rainbows/fiber/io/methods.rb b/lib/rainbows/fiber/io/methods.rb index 9df0f01..e490818 100644 --- a/lib/rainbows/fiber/io/methods.rb +++ b/lib/rainbows/fiber/io/methods.rb @@ -29,7 +29,7 @@ module Rainbows::Fiber::IO::Methods super end - def kgio_wait_readable + def kgio_wait_readable(timeout = nil) fd = fileno @f = Fiber.current RD[fd] = self -- cgit v1.2.3-24-ge0c7