Project

General

Profile

Bug #7951

Cannot rescue SignalException in 1.9.3 or 2.0.0

Added by jamesotron (James Harton) over 7 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
ruby -v:
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12.2.1]
Backport:
[ruby-core:52864]

Description

When running the example provided on http://www.ruby-doc.org/core-1.9.3/SignalException.html we find that neither Ruby 1.9.3p392 nor Ruby 2.0.0p0 are able to rescue SignalException:

$ cat <<EOF >signal_exception_test.rb
puts "#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}"
begin
  Process.kill('HUP',Process.pid)
rescue SignalException => e
  puts "received Exception #{e}"
end
EOF

$ rvm 1.8.7,1.9.3,2.0.0 do ruby signal_exception_test.rb
1.8.7p371
received Exception SIGHUP
1.9.3p392
/Users/jnh/.rvm/scripts/set: line 20: 99759 Hangup: 1               "${args[@]}"
2.0.0p0
/Users/jnh/.rvm/scripts/set: line 20: 99816 Hangup: 1               "${args[@]}"

Updated by kosaki (Motohiro KOSAKI) over 7 years ago

Following modified script works fine. That is a issue of YARV signal handling.

puts "#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}"
begin
Process.kill('HUP',Process.pid)
sleep 0.1
rescue SignalException => e
puts "received Exception #{e}"
end

#2

Updated by kosaki (Motohiro KOSAKI) over 7 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r39501.
James, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • error.c: clarify a document of SignalException. Process.kill() doesn't have any guarantee when signal will be delivered. [Bug #7951] [ruby-core:52864]

Updated by kosaki (Motohiro KOSAKI) over 7 years ago

I changed a doc because the example has a mistake of usage of Process.kill(). Process.kill() doesn't have any guarantee when signal will be delivered.

#4

Updated by ko1 (Koichi Sasada) almost 3 years ago

  • Description updated (diff)
#5

Updated by usa (Usaku NAKAMURA) almost 3 years ago

  • Backport deleted (2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN)

Also available in: Atom PDF