けいじゅ@いしつかです.

In [ruby-dev:23217] the message: "[ruby-dev:23217] Re: warning: fork
terminates thread", on Mar/24 19:34(JST) Tietew writes:

>> 1.8でも警告を消す方法はないものでしょうか?
>> 
>> shell.rbでは, theadとforkを使っていて, forkした後おやから引き継がれた
>> スレッドが生きていると悪さをするので, 殺すようにしていました.  fork時
>> にスレッドがkillされるのは, 私としてはめんどうが減って, うれしいことで
>> すが, 警告が出ると何か悪いことをしているような気になりますです(^^;;;
>
>Thread.exclusive {
>  def (dumerr = Object.new).write(str); end
>  saveerr = $stderr
>  $stderr = dumerr
>  begin
>    pid = fork
>  ensure
>    $stderr = saveerr
>  end
>}
>
>とかどうでしょう。

一瞬(というか, かなり長い間よいかとも思ったんですが), よく考えるとあま
りよくないかなと.

上記のプログラムは, fork側が対応するものですよね, 1.8の問題はThreadを
立ち上げる側が対応するものであって, forkする側は本来知らなくてもいいは
ずあるべきでのものあると思います.

やはり, 全然メイルで提案した通り, スレッドを起こす側がそのあとforkされ
てもいいよと宣言できる何かがほしいですね.

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