けいじゅ@いしつかです. 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 <<---