summaryrefslogtreecommitdiff
path: root/spec/ruby/core/signal/fixtures/trap_all.rb
blob: afa00b498d01a18d8f1c602c08e22e09212e90b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
cannot_be_trapped = %w[KILL STOP] # See man 2 signal

(Signal.list.keys - cannot_be_trapped).each do |signal|
  begin
    Signal.trap(signal, -> {})
  rescue ArgumentError => e
    unless /can't trap reserved signal|Signal already used by VM or OS/ =~ e.message
      raise e
    end
  else
    Signal.trap(signal, "DEFAULT")
  end
end

puts "OK"