mkfifo()
FIFOを介して同じホスト上で実行されている別のアプリケーションと通信するリアルタイムの Linux ユーザー アプリケーションがあります。このアプリケーションは 4 つの pthread で構成され、そのうちの 1 つが FIFO を作成して開きます。FIFO はノンブロッキング (O_NONBLOCK) モードで開かれます。
write()
通常、pthread から出力 FIFO への転送には約 1 秒かかります。8 マイクロ秒 - これは、約 2500 バイトまでのメッセージ用です。私たちにとっての問題は、時折、しかし定期的に、それの 10 倍の時間がかかり、ごくまれにミリ秒かかることです。この場合、メッセージの長さは通常よりも長くはありません。
おそらく、これを引き起こす「ボンネットの下」で何かが起こっているのでしょう。それを回避する方法はありますか?write()
非常に長い時間が表示されない限り、平均時間が多少増加しても問題ありません。
コメント/提案はありがたく受け取りました。