Project

General

Profile

Actions

Bug #6416

closed

Deadlock when calling Thread#join from signal interrupt context

Added by ender672 (Timothy Elliott) over 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 2.0.0dev (2012-05-09 trunk 35598) [x86_64-linux]
Backport:
[ruby-core:44956]

Description

=begin
The interpreter can deadlock when calling Thread#join both from the main context and from the signal handler context.

t = Thread.new{ sleep 3 }

Signal.trap "SIGINT" do
t.join
end

puts 'Press ctrl + c now'
t.join

The above will deadlock on linux x86_64 with ruby 1.9.x and ruby trunk. It works fine with ruby 1.8.7-p352 and JRuby.

=end

Actions

Also available in: Atom PDF