[Senna-dev 1021] Re: lock関係のAPIを外に出してほしい

Back to archive index

morita morit****@razil*****
2008年 9月 12日 (金) 08:49:27 JST


森です。

修正ありがとうございます。

sen_ii_createについては、pathにNULLを指定された場合、
メモリ上に一時的な転置索引を作って返すのが最も望ましい動作だと思うのですが、
まだ(しばらく)実装できなそうなので、omissionで良い気がしています。

ところで、sen_obj_flagsにいくつか値を増やしましたが、
まだ名前がしっくりこないものもあります。
SEN_OBJ_COLUMN_BUFFERED_VECTORは、転置索引に該当しますが、
これでいいのか、とか・・

Kouhei Sutou さんは書きました:
> 須藤です。
> 
> 2008/09/12 1:54 morita <morit****@razil*****>:
> 
>> 現在のテストコードですと、sen_pat_lockないしsen_hash_lockを実行した直後に
>> cut_test_context_pass_assertion()に入りますが、
>> その内部からcut-xml-stream.c:flow()が呼ばれ、stream->mutexをlockしようとします。
>> この時にデッドロックが発生する場合があるようです。
> 
> すみません。。。私の方が悪かったですね。。。
> Cutterの中までみてもらってすみませんでした。。。
> 
>> sen_pat_lock(sen_hash_lock)とsen_pat_unlock(sen_hash_unlock)との間では
>> cut_assert_*を呼ばないようにすることでこの問題を回避することができるようです。
>> (他にも対処方法があるかもしれませんが)
>>
>> 添付のパッチを適用すると、手元の環境ではデッドロックが発生しなくなりました。
> 
> こちらでもデッドロックしなくなったので、↑という感じでコミットしました。
> 
>> (omission以外は全てのテストにパスするようになりました!)
> 
> おぉ!
> omissionのやつ(sen_ii_create()のpathにNULLを渡すとどうなるかテスト)は
> どうしたらよいでしょうか?pathにNULLを渡すやつが悪いんだ、であれば、あ
> のテストはいらないと思いますし、pathにNULLを渡されたらNULLを返したい、
> ということであれば、omissionを外してテストを実行するようにした方がよいと
> 思っています。
> 
> _______________________________________________
> Senna-dev mailing list
> Senna****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/senna-dev
> バグ報告方法:http://qwik.jp/senna/bug_report.html
> 




Senna-dev メーリングリストの案内
Back to archive index