お世話になっております。 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