Module Signal
In: lib/phusion_passenger/utils.rb

Methods

Public Class methods

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

[Source]

     # File lib/phusion_passenger/utils.rb, line 555
555:         def self.list_trappable
556:                 ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"
557:                 case ruby_engine
558:                 when "ruby"
559:                         result = Signal.list
560:                         result.delete("ALRM")
561:                         result.delete("VTALRM")
562:                 when "jruby"
563:                         result = Signal.list
564:                         result.delete("QUIT")
565:                         result.delete("ILL")
566:                         result.delete("FPE")
567:                         result.delete("KILL")
568:                         result.delete("SEGV")
569:                         result.delete("USR1")
570:                 else
571:                         result = Signal.list
572:                 end
573:                 
574:                 # Don't touch SIGCHLD no matter what! On OS X waitpid() will
575:                 # malfunction if SIGCHLD doesn't have a correct handler.
576:                 result.delete("CLD")
577:                 result.delete("CHLD")
578:                 
579:                 # Other stuff that we don't want to trap no matter which
580:                 # Ruby engine.
581:                 result.delete("STOP")
582:                 
583:                 return result
584:         end

[Validate]