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 1008
1008: def self.list_trappable
1009: ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby"
1010: case ruby_engine
1011: when "ruby"
1012: result = Signal.list
1013: result.delete("ALRM")
1014: result.delete("VTALRM")
1015: when "jruby"
1016: result = Signal.list
1017: result.delete("QUIT")
1018: result.delete("ILL")
1019: result.delete("FPE")
1020: result.delete("KILL")
1021: result.delete("SEGV")
1022: result.delete("USR1")
1023: else
1024: result = Signal.list
1025: end
1026:
1027: # Don't touch SIGCHLD no matter what! On OS X waitpid() will
1028: # malfunction if SIGCHLD doesn't have a correct handler.
1029: result.delete("CLD")
1030: result.delete("CHLD")
1031:
1032: # Other stuff that we don't want to trap no matter which
1033: # Ruby engine.
1034: result.delete("STOP")
1035:
1036: return result
1037: end