lib/contrast/api/communication/service_lifecycle.rb in contrast-agent-4.6.0 vs lib/contrast/api/communication/service_lifecycle.rb in contrast-agent-4.7.0
- old
+ new
@@ -19,15 +19,17 @@
logger.error('The bundled service could not be started. The agent will not function properly.')
end
is_service_started
end
- # check if there's a zombie service that exists, and wait on it if so.
- # currently, this only happens when trying to initialize speedracer
+ # check if there's a zombie service that exists, and wait on it if so. currently, this only happens when trying
+ # to initialize speedracer
def zombie_check
zombie_pid_list = Contrast::Utils::OS.zombie_pids
zombie_pid_list.each do |pid|
Process.wait(pid.to_i)
+ rescue Errno::ECHILD => _e
+ # Sometimes the zombie process dies between us finding it and killing it
end
end
def determine_startup_options
return { out: :out, err: :out } if CONTRAST_SERVICE.logger_path == 'STDOUT'