Issue #13768 has been updated by matz (Yukihiro Matsumoto).


This issue told us there's false positive in our deadlock detector. So I accept adding `Thread.ignore_deadlock = true`.

Matz,

----------------------------------------
Bug #13768: SIGCHLD and Thread dead-lock problem
https://bugs.ruby-lang.org/issues/13768#change-88175

* Author: keiju (Keiju Ishitsuka)
* Status: Open
* Priority: Normal
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
 けいじゅ@いしつかです.
 
 下記のプログラムを実行するとThreadがデッドロックしたと例外が発生します.
 # コメント部分をはずせば, デッドロックはしません
 
 シグナルのtrapが絡むときのデッドロックの検知に問題があるのではないかと
 思いますがいかがでしょう? 

 ```
 % ruby -v
 ruby 2.5.0dev (2017-07-25 trunk 59417) [i686-linux]
 ```
 ```ruby
 q = Queue.new
 p = Queue.new
 
 trap(:SIGCHLD) do
   puts "SIGCHLD"
   q.push 1
 end
 
 Thread.start do
   Process.spawn("/bin/sleep 1")
 end
 
 #Thread.start do
 #  loop do
 #    sleep 100
 #  end
 #end
 
 th = Thread.start{
   p.push q.pop
 }
 
 p.pop
 ```
 __
 ---------------------------------------------------->> 石塚 圭樹 <<---
 ---------------------------------->> e-mail: keiju / ishitsuka.com <<---



-- 
https://bugs.ruby-lang.org/