show child and parent signal mask

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2015-10-30 01:58:13 +00:00
parent 89d0720ef9
commit bb87df3ef1

View File

@ -331,16 +331,27 @@ class TestGc < Test::Unit::TestCase
end;
end
def get_signal_info
if RUBY_PLATFORM.include?('solaris')
`/usr/bin/psig #{$$}`
elsif File.exist?('/proc/self/status')
IO.read('/proc/self/status')
else
''
end
end
def test_interrupt_in_finalizer
bug10595 = '[ruby-core:66825] [Bug #10595]'
src = <<-'end;'
pid = $$
$stderr.puts `/usr/bin/psig #{$$}` if RUBY_PLATFORM.include?('solaris')
Thread.start do
10.times {
sleep 0.1
Process.kill("INT", pid) rescue break
}
$stderr.puts `/usr/bin/psig #{$$}` if RUBY_PLATFORM.include?('solaris')
$stderr.puts IO.read('/proc/self/status') if File.exist?('/proc/self/status')
end
f = proc {1000.times {}}
loop do
@ -353,7 +364,7 @@ class TestGc < Test::Unit::TestCase
unless /mswin|mingw/ =~ RUBY_PLATFORM
assert_equal("INT", Signal.signame(status.termsig), bug10595)
end
assert_match(/Interrupt/, err.first, proc {err.join("\n")})
assert_match(/Interrupt/, err.first, proc {err.join("\n")}+get_signal_info)
assert_empty(out)
end