Module: Signal
- Defined in:
- lib/phusion_passenger/utils.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.
601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 |
# File 'lib/phusion_passenger/utils.rb', line 601 def self.list_trappable ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby" case ruby_engine when "ruby" result = Signal.list result.delete("ALRM") result.delete("VTALRM") when "jruby" result = Signal.list result.delete("QUIT") result.delete("ILL") result.delete("FPE") result.delete("KILL") result.delete("SEGV") result.delete("USR1") else result = Signal.list 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 |