Don't send INT signal itself.
On make test-all, it kills the process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
029b59ba53
commit
29996bb313
@ -243,19 +243,21 @@ EOS
|
||||
def test_signame
|
||||
return unless Process.respond_to?(:kill)
|
||||
|
||||
begin
|
||||
10.times do
|
||||
caught = 0
|
||||
signame = "wrong"
|
||||
|
||||
Signal.trap("INT") { |signo| signame = Signal.signame(signo); caught = 1; }
|
||||
Process.kill("INT", 0)
|
||||
|
||||
sleep 0.01 while caught==0
|
||||
10.times do
|
||||
IO.popen([EnvUtil.rubybin, "-e", <<EOS, :err => File::NULL]) do |child|
|
||||
Signal.trap("INT") do |signo|
|
||||
signame = Signal.signame(signo)
|
||||
Marshal.dump(signame, STDOUT)
|
||||
STDOUT.flush
|
||||
exit 0
|
||||
end
|
||||
sleep
|
||||
EOS
|
||||
sleep 0.1
|
||||
Process.kill("INT", child.pid)
|
||||
signame = Marshal.load(child)
|
||||
assert_equal(signame, "INT")
|
||||
end
|
||||
ensure
|
||||
Signal.trap("INT", "DEFAULT")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user