Bug #377
closedRinda has a race condition
Description
=begin
咳といいます。
On 2008/07/27, at 22:34, Yusuke ENDOH wrote:
どちらにせよ、1.8のtuplespace.rbを1.9へ
ciしようと思いますので、
よかったらあとでもう一度ためしてもらえますか?
#いまビルド中なのでしばらく待ってください確認しました。
make test-all TESTS=rinda では 0F0E でしたが、make test-
all だと
2 つ Failure が出ました。
failureはたぶんテストの問題です。
1.8系でも遅いマシンで現象を確認しました。
なんとかしたいと思います。
また、この start_keeper だと keeper が死なない
と思うのですが、
それはちょっとまずくないでしょうか。
$ ./ruby -e '
at_exit { sleep 5; p Thread.list }
require "test/rinda/test_rinda.rb"
'Loaded suite -e
Started
.........................
Finished in 1.050015839 seconds.25 tests, 292 assertions, 0 failures, 0 errors
[#<Thread:0x819f2f0 run>, #<Thread:0x838f1a0 sleep>,
#<Thread:0x8389dcc sleep>, #<Thread:0x83a2db8 sleep>,
#<Thread:0x839d520 sleep>, #<Thread:0x83919a0 sleep>,
#<Thread:0x832dd9c sleep>, #<Thread:0x826e67c sleep>,
#<Thread:0x83888f0 sleep>, #<Thread:0x825ebb4 sleep>,
#<Thread:0x825ccd8 sleep>, #<Thread:0x849d038 sleep>,
#<Thread:0x82f3214 sleep>, #<Thread:0x8311ac0 sleep>,
#<Thread:0x845f328 sleep>, #<Thread:0x84be5bc sleep>,
#<Thread:0x847b938 sleep>, #<Thread:0x84265a0 sleep>,
#<Thread:0x824f7b8 sleep>, #<Thread:0x828cf00 sleep>]
これは迷ったんだけど、いまはそうしました。
実アプリケーションではTupleSpaceを使い捨てないと想定し
たからです。
keeperをうまく生成できなかったのは私のプログラミング能力の問
題です。
もうちょっとがんばってみます。
タプルごとにThreadを生成してしまうのが一番簡単なんだけど‥¶
=end