Actions
Bug #362
closedSignal handling meets threading
Description
=begin
I found a bug and some workaround while trying to implement
termination watchdog.
ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux] on Ubuntu 8.04
Bug:
Run me and press Ctrl+C¶
Signal.trap('INT') do
Thread.new do
puts "Got SIGINT"
Thread.main.join(1)
puts "Timeout is never reached!"
end
end
sleep 100
And a workaround
Run me and press Ctrl+C¶
killer = Thread.new do
Thread.stop
puts "Got SIGINT"
Thread.main.join(1)
puts "Timeout is reached!"
Thread.main.raise "Timeout!"
end
Signal.trap('INT') do
killer.run
end
sleep 100
------------------------------¶
=end
Actions
Like0
Like0