16 17 18 19 20 21 22 23 24 25
# File 'lib/dtas/process.rb', line 16 def self.reaper begin pid, status = Process.waitpid2(-1, Process::WNOHANG) pid or return obj = PIDS.delete(pid) yield status, obj rescue Errno::ECHILD return end while true end