lib/polyphony/core/supervisor.rb in polyphony-0.15 vs lib/polyphony/core/supervisor.rb in polyphony-0.16
- old
+ new
@@ -5,11 +5,11 @@
Coprocess = import('./coprocess')
Exceptions = import('./exceptions')
class Supervisor
def initialize
- @coprocesss = []
+ @coprocesses = []
end
def await(&block)
@supervisor_fiber = Fiber.current
block&.(self)
@@ -32,27 +32,27 @@
spawn_proc(block || proc)
end
end
def spawn_coprocess(proc)
- @coprocesss << proc
+ @coprocesses << proc
proc.when_done { task_completed(proc) }
proc.run unless proc.running?
proc
end
def spawn_proc(proc)
- @coprocesss << Object.spawn do |coprocess|
+ @coprocesses << Object.spawn do |coprocess|
proc.call(coprocess)
task_completed(coprocess)
rescue Exception => e
task_completed(coprocess)
end
end
def still_running?
- !@coprocesss.empty?
+ !@coprocesses.empty?
end
def stop!(result = nil)
return unless @supervisor_fiber && !@stopped
@@ -60,17 +60,17 @@
@supervisor_fiber.transfer Exceptions::MoveOn.new(nil, result)
end
def stop_all_tasks
exception = Exceptions::Stop.new
- @coprocesss.each do |c|
+ @coprocesses.each do |c|
EV.next_tick { c.interrupt(exception) }
end
end
def task_completed(coprocess)
- return unless @coprocesss.include?(coprocess)
+ return unless @coprocesses.include?(coprocess)
- @coprocesss.delete(coprocess)
- @supervisor_fiber&.transfer if @coprocesss.empty?
+ @coprocesses.delete(coprocess)
+ @supervisor_fiber&.transfer if @coprocesses.empty?
end
end