マルチスレッド アプリケーションでは、スレッドをキャンセルする必要があります。flockfile
それらのいくつかは、 の有効なキャンセル ポイントではないように見えるメカニズムを使用していpthread_cancel
ます。SIGUSR1
を使用してシグナルを送信し、シグナルハンドラーでpthread_kill
強制的にスレッドを強制終了することで、なんとかスレッドを強制終了しました。pthread_exit
私の場合、割り当てられたメモリのクリーンアップは簡単であることがわかりました (すべてスタック上にあります) が、もちろん、ファイル ストリームを閉じることはできません。バッファを解放したり、ロックを解除したりする方法はありますか? 私のシステムでは、閉じられていないバッファのそれぞれが 16KB のメモリを占有し、すぐに蓄積されます。