From: Nakamura Akifumi Date: 2000-12-11T13:23:48+09:00 Subject: [ruby-list:26489] Re: fork problem? お世話になっております。 A.中村です。 On Sat, 9 Dec 2000 18:09:46 +0900 matz@zetabits.com (Yukihiro Matsumoto) wrote: > それで構いません。が、Rubyはソレに近いものではないような気が > します。SchemeやPythonだと近いカモ。 Pythonとrubyに、oop実現度とかインデントとか(笑)とは違う面での そういう違いもある…んですか。pythonはまだ全然知らないんで 今度見てみようかな… >|Thread#kill_on_fork? >|あるいは >|Thread#on_fork >|って仕掛けを作ったら、 >|解決(unix世界前提での)にはならないんでしょうか? >これは最近私が提案していること[ruby-dev:11718]と類似してますですね。 少し見ました。 「同じスレッド」という言い回し([ruby-dev:11713]まつもとさん)に ちょっとだけガクっと来ました。 fork()することによってスレッドの「同値と同一のちがい」を 考慮せんとならなくなった、ということですよね。 これってoopでお馴染みの話題かと。 それと建設的(笑)な話。 先に俺は >Threadをnewしたプログラマが って書きましたが、安直ですがThreadにサブクラス一つ作って Thread#kill_on_fork? #=> true DieHardThread#kill_on_fork? #=> false または Thread#on_fork #自殺とかする DieHardThread#on_fork #なんかはするかもだが自殺はしないよ なんて感じのを「用意しとく」ってのも、ちょっと楽かも。 まぁ大した差ではないでしょうけど、予め そういう選択肢が有るんだよってことをライブラリ作者に示す ってのは少しは有益かと思うので。 #どっちをサブクラスにすべきかは需要の多数決(笑)で決めると良いかも。 ##ひでぇ設計だな俺(笑) あと、この辺が整備された暁にも尚、 main_threadに格上げっていう仕掛けは必要なんでしょうか? ここって、輪をかけて気持ち悪いなぁと思った部分なんですけど。 あ。もしかしてon_forkと別にon_execも要る(あったほうが良い)ですかね? Thread#kill_on_exec? または Thread#on_exec