QDBMにちょっとはまった
>criternext がなぜかすべてのキーを手繰る前に終了してしまうという謎の不具合に遭遇。どうも調べてみるに、 0001/depot のキーしか取り出さないようだ。ところが crmgr list するときちんとぜんぶ取得できている。理由不明かつ詳細不明なので ML に投げて相談するべきか、と思い、自前のビルドしたプログラムと crmgr の違いを見ていて、どうやら pthread をリンクするかどうかの違いだということに気付いた。で -pthread つきでコンパイルしてみたところ、自前のプログラムはちゃんとキーを列挙できた。
>
>つまり、pthread をオンにして構築している環境で、 -pthread せずにビルドしたプログラムは挙動がおかしくなるという、考えてみれば当り前のことだった。それでもなぜそうなるかはよくわからないが、ひとまず動いたので良しとする。けっこう時間を食ってしまったよ。
>