Class/Module Index [+]

Quicksearch

Signal

Public Class Methods

list_trappable() click to toggle source

Like Signal.list, but only returns signals that we can actually trap.

# File lib/phusion_passenger/ruby_core_enhancements.rb, line 94
def self.list_trappable
  ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"
  case ruby_engine
  when "jruby"
    result = Signal.list.dup
    result.delete("QUIT")
    result.delete("ILL")
    result.delete("FPE")
    result.delete("SEGV")
    result.delete("USR1")
    result.delete("IOT")
    result.delete("EXIT")
  else
    result = Signal.list.dup
    result.delete("ALRM")
    result.delete("VTALRM")
  end

  # Don't touch SIGCHLD no matter what! On OS X waitpid() will
  # malfunction if SIGCHLD doesn't have a correct handler.
  result.delete("CLD")
  result.delete("CHLD")

  # Other stuff that we don't want to trap no matter which
  # Ruby engine.
  result.delete("STOP")
  result.delete("KILL")

  return result
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.