Method: Aggkit::Watcher#terminate_all

Defined in:
lib/aggkit/watcher.rb

#terminate_allObject



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'lib/aggkit/watcher.rb', line 73

def terminate_all


  raise 'Double termination occured!' if @terminating
  @terminating = true
  running = @procs.reject(&:handled?)

  running.each do |pr|
    pr.stdin.close rescue nil
    pr.terminate
  end

  running.each do |pr|
    pr.stop
    collect_managed(pr)
  end
end