Methods
Public Class methods
Like Signal.list, but only returns signals that we can actually trap.
[ show 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