[ruby-dev:50364] Re: SIGCHLD and Thread dead-lock problem

From: keiju@... (keiju ISHITSUKA)
Date: 2017-12-18 13:09:59 UTC
List: ruby-dev #50364
けいじゅ@いしつかです.

情報ありがとうございます.

試してみましたが, 問題は解消していませんでした...



Tomoyuki Chikanaga <nagachika00@gmail.com> wrote:

> 再現コードはやや異なりますが、 [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 <<---

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka.com <<---

In This Thread

Prev Next