ActionsLike0
Bug #13768
closedSIGCHLD and Thread dead-lock problem
Description
けいじゅ@いしつかです.
下記のプログラムを実行するとThreadがデッドロックしたと例外が発生します.
コメント部分をはずせば, デッドロックはしません¶
シグナルのtrapが絡むときのデッドロックの検知に問題があるのではないかと
思いますがいかがでしょう?
% ruby -v
ruby 2.5.0dev (2017-07-25 trunk 59417) [i686-linux]
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 <<---
ActionsLike0