マルチスレッドの組み込みアプリケーションがあります。ハードウェアの制約により、ここで説明するには平凡すぎるため、ファイルに出力するたびにファイルシステムを RW に再マウントする必要があります。
system()
現在、呼び出しを介してこれを行っており、mount
コマンドを実行しています。ただし、この呼び出しがブロックされ、アプリケーションがデッドロック状態になることがあります。
デバッグ中にsystem(NULL)
、元のsystem()
呼び出しの前に配置しましたが、これもブロックされることがあります。
一般的に言えば、どのような状況でsystem()
永遠にブロックされる可能性がありますか?