From: keiju@... (Keiju ISHITSUKA) Date: 2017-07-26T00:51:05+09:00 Subject: [ruby-dev:50186] SIGCHLD and Thread dead-lock problem けいじゅ@いしつかです. 下記のプログラムを実行すると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 <<---