summaryrefslogtreecommitdiff
path: root/test/fiber/scheduler.rb
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2020-11-08 16:19:39 +1300
committerSamuel Williams <samuel.williams@oriontransfer.co.nz>2020-11-08 20:40:52 +1300
commit57b83dad4cd3c7d4b2a29829a1cb194c9b5ee9d1 (patch)
tree967fd0ccb93a6df8a9f047bc154680bdff90ca65 /test/fiber/scheduler.rb
parentc39984ec5cc6dc94eb0c0e4169e7160f71e89240 (diff)
Defer `kernel_sleep` to `block` to avoid exiting the event loop when duration is nil.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3743
Diffstat (limited to 'test/fiber/scheduler.rb')
-rw-r--r--test/fiber/scheduler.rb7
1 files changed, 1 insertions, 6 deletions
diff --git a/test/fiber/scheduler.rb b/test/fiber/scheduler.rb
index 408e0e53e5..8879048a2b 100644
--- a/test/fiber/scheduler.rb
+++ b/test/fiber/scheduler.rb
@@ -135,12 +135,7 @@ class Scheduler
# Used for Kernel#sleep and Mutex#sleep
def kernel_sleep(duration = nil)
- # p [__method__, duration]
- if duration
- @waiting[Fiber.current] = current_time + duration
- end
-
- Fiber.yield
+ self.block(:sleep, duration)
return true
end