nagachika です。

再現コードはやや異なりますが、 [Bug #14181] と類似のようですので、
r61274, r61302 で修正されている可能性があるのではないかと思います。



2017年7月26日 0:51 Keiju ISHITSUKA <keiju@ishitsuka.com>:
けいじゅ@いしつかです.

下記のプログラムを実行すると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 <<---