Sha256: 2a819ef73a1e0a2ee4f52cfd71036c936dd5052f909af77a51291e19a2728f63
Contents?: true
Size: 888 Bytes
Versions: 2
Compression:
Stored size: 888 Bytes
Contents
module Juici class Watcher def self.instance @@instance ||= self.new end def initialize @active = true end def register_handler Signal.trap("CHLD") do begin if @active pid, status = Process.wait2(-1) $build_queue.purge(:pid, OpenStruct.new(:pid => pid)) ::Juici.dbgp "Trying to find pid: #{pid}" handle(pid, status) end rescue Errno::ECHILD nil end $build_queue.bump! if $build_queue && @active end end def handle(pid, status) build = $build_queue.get_build_by_pid(pid) if status == 0 build.success! else build.failure! end $build_queue.bump! if $build_queue end def shutdown! @active = false end def start register_handler end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
juici-0.0.1.alpha1 | lib/juici/watcher.rb |
juici-0.0.0.alpha1 | lib/juici/watcher.rb |