Bug #7460

メインスレッド終了後のサブスレッド終了待ち処理においてデッドロック検知が動作していない

Added by Motohiro KOSAKI over 1 year ago. Updated over 1 year ago.

[ruby-core:50281]
Status:Assigned
Priority:Normal
Assignee:Motohiro KOSAKI
Category:core
Target version:next minor
ruby -v:ruby-trunk Backport:

Description

[Bug #5368] からの派生なんですが、

Thread.new do
begin
p "sleep1"
sleep
p "sleep2"
ensure
p "stop1"
Thread.stop
p "stop2"
end
end

このスクリプトでデッドロック検知が動かないのはおかしいと思います。
要するに threadterminateall() でも vm->sleeperを増やせ、ということなのですが TAG_FATALの考慮漏れが複数箇所に
とっちらかってて、パッチはちょっときたない(添付参照)。くすん

terminate_all-deadlock-check.patch Magnifier (2.59 KB) Motohiro KOSAKI, 11/29/2012 10:02 AM


Related issues

Related to ruby-trunk - Bug #5368: ensure節でsleepするようなThreadがあるとインタプリタが終了しない Assigned 09/26/2011

History

#1 Updated by Motohiro KOSAKI over 1 year ago

  • Status changed from Open to Assigned
  • Assignee set to Motohiro KOSAKI

#2 Updated by Motohiro KOSAKI over 1 year ago

  • Category set to core
  • Target version set to next minor

Also available in: Atom PDF