黒田です。 僕のダメダメソースは書きなおされて、結局構造体も例の eval も使 わなくなりました。 >まつもと ゆきひろです > >良くやるのはイテレータブロック内で初出のローカル変数は共有さ >れないことを利用して > > Thread.start do > log = Log.new > log.set構造体 > ... > end > >ですね.ここで「うっかり」イテレータブロックの外側でlogって >名前の変数を使っちゃうと痛い目に遭いますが. 外側というのは - -- def session(log) log.set構造体 ... end thread.start{ log = Log.new session(log) } - -- こういうのもだめなんでしょうか。 >|について。system(とっても重いelispプログラム) を呼ぶ thread >|が処理を奪ったままなので, 試しに(懲りずに)fork を狭んでみると >|うまく行きました。そんなもんなんでしょうか。 > >systemがwaitでブロックしちゃうせいですね.ほとんどバグの領域 >だと思います.次のリリースで修正しようと思います. 1997年05月28日(水) 午後05時14分25秒頃の, まつもと ゆきひろさんの <199705280809.RAA07249 / castanet.caelum.co.jp>の記事にお返事します. >ちょっと空きましたがリリースしました. > >今回の目玉 > > * systemやwaitでthreadがブロックしない ありがとうございました。 - -- 黒田 淳 (くろだ じゅん)