Module | Signal
In: | lib/phusion_passenger/utils.rb

### Methods

list_trappable

### Public Class methods

list_trappable()

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

[Source]

         # File lib/phusion_passenger/utils.rb, line 615
    615:         def self.list_trappable
    616:                 ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"
    617:                 case ruby_engine
    618:                 when "ruby"
    619:                         result = Signal.list
    620:                         result.delete("ALRM")
    621:                         result.delete("VTALRM")
    622:                 when "jruby"
    623:                         result = Signal.list
    624:                         result.delete("QUIT")
    625:                         result.delete("ILL")
    626:                         result.delete("FPE")
    627:                         result.delete("KILL")
    628:                         result.delete("SEGV")
    629:                         result.delete("USR1")
    630:                 else
    631:                         result = Signal.list
    632:                 end
    633:
    634:                 # Don't touch SIGCHLD no matter what! On OS X waitpid() will
    635:                 # malfunction if SIGCHLD doesn't have a correct handler.
    636:                 result.delete("CLD")
    637:                 result.delete("CHLD")
    638:
    639:                 # Other stuff that we don't want to trap no matter which
    640:                 # Ruby engine.
    641:                 result.delete("STOP")
    642:
    643:                 return result
    644:         end

[Validate]