Module | Signal |
In: |
lib/phusion_passenger/utils.rb
|
Like Signal.list, but only returns signals that we can actually trap.
# 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