From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2007-03-19T13:20:17+09:00 Subject: [ruby-dev:30628] Re: stdout flush in fork けいじゅ@いしつかです. In [ruby-dev:30619] the message: "[ruby-dev:30619] Re: stdout flush in fork", on Mar/17 22:52(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|STDOUTにflushしたあと, forkする前に, 他のスレッドが, STDOUTに書き込むっ >|てことは STDOUTがflush されていないことになるとおもうのですが? > >あれ? ちょっと調べ直してみました。 > >rb_fork()がrb_f_fork()から呼ばれる場合にはrb_thread_atfork() >の呼び出し後ですから、他のスレッドは存在しないとみなしてよい >と思います(YARVではテーブルから削除するだけで実際にスレッド >を止めるようにしてないみたいだけど)。だから問題なし。 ん? rb_f_fork が rb_fork を呼び出し, そのforkした側で rb_thread_atforkして いるように見えますが? それに, flushするのはそういう問題でしたっけ? つまり, 子プロセス側でス レッドが生きていてそれが悪さする可能性があるから? __ ---------------------------------------------------->> 石塚 圭樹 <<--- ---------------------------------->> e-mail: keiju@ishitsuka.com <<---