質問

私のコードは、次のスタックでfwriteをぶら下げています。

libc.so.6.1::___lll_lock_wait
libc.so.6.1::fwrite

これはソラリスで起こっているようです。

私が考えることができる誤ったことのみが、私のコードがFWRITEを実行するために使用される同じファイルポインターで並列fcloseを実行しようとする可能性があるということです。平行fcloseが発生した場合、この種のスタックにつながりますか?

しかし、並列fcloseコールが本当に起こったかどうかはわかりませんか?

ここでの問題は何でしょうか?

役に立ちましたか?

解決

何かがどこかに爆発したように見えます。ファイル*の操作*は通常、内部ロックを使用してスレッドセーフになります。あなたはおそらくどこかで未解フの行動を呼び出すために何かをしたでしょう。たとえば、ヒープを破壊し、重要なもの(ファイルなど)を上書きするか、ファイル*が閉じられています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top