FWRITEがハングする原因は何ですか?
質問
私のコードは、次のスタックでfwriteをぶら下げています。
libc.so.6.1::___lll_lock_wait
libc.so.6.1::fwrite
これはソラリスで起こっているようです。
私が考えることができる誤ったことのみが、私のコードがFWRITEを実行するために使用される同じファイルポインターで並列fcloseを実行しようとする可能性があるということです。平行fcloseが発生した場合、この種のスタックにつながりますか?
しかし、並列fcloseコールが本当に起こったかどうかはわかりませんか?
ここでの問題は何でしょうか?
解決
何かがどこかに爆発したように見えます。ファイル*の操作*は通常、内部ロックを使用してスレッドセーフになります。あなたはおそらくどこかで未解フの行動を呼び出すために何かをしたでしょう。たとえば、ヒープを破壊し、重要なもの(ファイルなど)を上書きするか、ファイル*が閉じられています。
所属していません StackOverflow