On Wed, 12 Nov 2003 11:05:28 +0900
In article <20031112.110527.74725916.nagai / ai.kyutech.ac.jp>
[[ruby-dev:21901] Re: pthread trouble on tcltklib]
Hidetoshi NAGAI <nagai / ai.kyutech.ac.jp> wrote:

> > この部分ですが、rb_thread_schedule()への再入だけではなく、別の
> > pthread内でのrubyスレッドの切替え自体が危険じゃないでしょうか。
> > そう考えると、ロックじゃなくて最初にスレッドIDを保存しておいて、
> > 単純に現在のスレッドと一致しなかったら戻る、だけでもよさそうな
> > 気がして来ました。
> 
> ruby thread の切り替え作業が同時に行われなければいいのではないかと
> 思いましたが,甘かったでしょうか.(^_^;

甘いと思います。特に GC がスタックを参照するので,範囲外をスキャ
ンしてお亡くなりになるとか,いろいろ考えられます。JUMP_TAG も危
ないですね。あらぬ所へ飛んでいくかも。

> ruby thread の切り替えが可能な pthread を一つだけに絞ったとき,
> アプリケーションへの組み込み用途での ruby 利用に支障が出たりは
> しないでしょうか?

Windows の例ですが,Ruby が走るネイティブスレッドを一つ決め,そ
の上で Ruby を走らせています。そのスレッド以外で Ruby に制御は絶
対に渡しません。解決不可能な問題の原因になるので。


―[ Tietew ]――――――――――――――――――――――――――
 メ : tietew / tietew.net / tietew / raug.net / tietew / masuclub.net
ホペ: http://www.tietew.net/     Tietew Windows Lab.
      http://www.masuclub.net/   鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA