1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Use a similar pattern for waiting and ready

This commit is contained in:
Benoit Daloze 2020-09-17 12:55:17 +02:00
parent e4dbb91f4c
commit c3acfcc78d

View file

@ -21,7 +21,7 @@ class Scheduler
@lock = Mutex.new
@locking = 0
@ready = Array.new
@ready = []
end
attr :readable
@ -68,8 +68,7 @@ class Scheduler
if @waiting.any?
time = current_time
waiting = @waiting
@waiting = {}
waiting, @waiting = @waiting, {}
waiting.each do |fiber, timeout|
if timeout <= time
@ -84,7 +83,7 @@ class Scheduler
ready = nil
@lock.synchronize do
ready, @ready = @ready, Array.new
ready, @ready = @ready, []
end
ready.each do |fiber|