Sha256: eada399fd7e58ce06d44c7be71d861817eb47355f8bc359373c266ed4dba9029
Contents?: true
Size: 898 Bytes
Versions: 1
Compression:
Stored size: 898 Bytes
Contents
require "unicorn/timeout_backtracer/version" require 'open3' require 'rubygems/installer' require 'unicorn' class Unicorn::HttpServer alias_method :unlogged_kill_worker, :kill_worker def kill_worker(signal, wpid) bin_dir = Gem::Installer.new('gdbruby').bin_dir gdbruby_bin = "#{bin_dir}/gdbruby.rb" if ENV['ENABLE_TIMEOUT_LOG'].to_i.nonzero? && FileTest.executable?(gdbruby_bin) if signal == :KILL begin pid = fork do path = "/tmp/unicorn-timeout-backtrace-#{Process.pid}.log" log_file = File.open(path, "a") IO.popen("#{gdbruby_bin} #{wpid}", "r+") do |io| while line = io.gets log_file.puts line end end end Process.waitpid(pid) rescue => e p e end end end unlogged_kill_worker(signal, wpid) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unicorn-timeout_backtracer-0.0.2 | lib/unicorn/timeout_backtracer.rb |