< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事(スレッド移動)
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
Issue #6416 has been updated by authorNari (Narihiro Nakamura).
kosaki (Motohiro KOSAKI) wrote:
> Nari,
>
> In your case, main thread and trap handler uses the same mutex and it is racy and deadlockable. Even if I revert my change, it wouldn't work.
I see, Thanks!
----------------------------------------
Bug #6416: Deadlock when calling Thread#join from signal interrupt context
https://bugs.ruby-lang.org/issues/6416#change-34064
Author: ender672 (Timothy Elliott)
Status: Closed
Priority: Normal
Assignee: kosaki (Motohiro KOSAKI)
Category:
Target version: 2.0.0
ruby -v: ruby 2.0.0dev (2012-05-09 trunk 35598) [x86_64-linux]
=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
--
http://bugs.ruby-lang.org/