From: keiju@... (Keiju ISHITSUKA) Date: 1999-09-15T20:14:29+09:00 Subject: [ruby-dev:7845] [Q] irb and SizedQueue けいじゅ@日本ラショナルソフトウェアです. irbでよくわからない現象が発生しています. ちょっと助けてくださいませ. % irb --context-mode 2 で実行すると普通に動くのですが. irb/main.rb の下の方は以下のようになって います: -- # TOP_LEVEL_BINDING generator if defined?(Thread) require "thread" IRB.const_set("BINDING_QUEUE", SizedQueue.new(1)) Thread.abort_on_exception = true Thread.start do eval "require \"irb/bind\"", TOPLEVEL_BINDING end IRB::BINDING_QUEUE.pop else IRB.const_set("BINDING_QUEUE", nil) end -- で, ここの IRB::BINDING_QUEUE.pop をコメントアウトすると正常に動かなくなるんですね... かわりに, sleep 1と かThread.passとかを入れても正常に動くようになります. ThreadとSizedQueueのタイミングの絡みなのかな? とも思うのですがよくわかり ません. 使用しているrubyのバージョンは1.4.0 with patch[ruby-dev:7745], [ruby-dev:7757]です. あと, irb-0.6-beta.tgz をin.comingの下に置きました. それを使ってください. __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju@rational.com <<---