From 7f11b212f78a5070bea17bc20af43395b6cc621d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 25 Nov 2009 15:08:25 -0800 Subject: Fiber*: add Rainbows::Fiber.sleep method It works exactly like Actor.sleep and similar to Kernel.sleep (no way to sleep indefinitely), but is compatible with the IO.select-based Fiber scheduler we run. This method only works within the context of a Rainbows! application dispatch. --- lib/rainbows/fiber_pool.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/rainbows/fiber_pool.rb') diff --git a/lib/rainbows/fiber_pool.rb b/lib/rainbows/fiber_pool.rb index ff693fa..6cb2ca6 100644 --- a/lib/rainbows/fiber_pool.rb +++ b/lib/rainbows/fiber_pool.rb @@ -32,7 +32,7 @@ module Rainbows begin ret = begin G.tick - IO.select(rd.keys.concat(LISTENERS), wr.keys, nil, 1) or next + IO.select(rd.keys.concat(LISTENERS), wr.keys, nil, timer) or next rescue Errno::EINTR retry rescue Errno::EBADF, TypeError -- cgit v1.2.3-24-ge0c7