Module: Signal
- Defined in:
- lib/phusion_passenger/ruby_core_enhancements.rb
Class Method Summary collapse
-
.list_trappable ⇒ Object
Like Signal.list, but only returns signals that we can actually trap.
Class Method Details
.list_trappable ⇒ Object
Like Signal.list, but only returns signals that we can actually trap.
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
# File 'lib/phusion_passenger/ruby_core_enhancements.rb', line 148 def self.list_trappable ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby" case ruby_engine when "jruby" result = Signal.list result.delete("QUIT") result.delete("ILL") result.delete("FPE") result.delete("KILL") result.delete("SEGV") result.delete("USR1") result.delete("IOT") result.delete("EXIT") else result = Signal.list result.delete("ALRM") result.delete("VTALRM") end # Don't touch SIGCHLD no matter what! On OS X waitpid() will # malfunction if SIGCHLD doesn't have a correct handler. result.delete("CLD") result.delete("CHLD") # Other stuff that we don't want to trap no matter which # Ruby engine. result.delete("STOP") return result end |