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:
parent
e4dbb91f4c
commit
c3acfcc78d
1 changed files with 3 additions and 4 deletions
|
@ -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|
|
||||
|
|
Loading…
Add table
Reference in a new issue