Project

General

Profile

Bug #7460

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

Added by Motohiro KOSAKI almost 4 years ago. Updated almost 4 years ago.

Status:
Assigned
Priority:
Normal
ruby -v:
ruby-trunk
[ruby-core:50281]

Description

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

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

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

terminate_all-deadlock-check.patch View (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 [ruby-core:50282] Updated by Motohiro KOSAKI almost 4 years ago

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

#2 [ruby-core:50395] Updated by Motohiro KOSAKI almost 4 years ago

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

Also available in: Atom PDF