ptpd に従って現在の時刻を確認するために、時々 gettimeofday() を呼び出す必要がある Xenomai リアルタイム スレッドを実行しています。
ただし、これを行うのは安全ではないようです。特に、Xenomai スレッドと Linux カーネルが「ライブロック」状態になることがあり、ここで説明されているように、gettimeofday() が CPU を回転させて戻らなくなります。
私の質問は、Xenomai リアルタイム スレッドから gettimeofday() の情報を安全に取得する方法はありますか? 独自のバージョンの gettimeofday() を Linux カーネルに追加することを検討しています (私のバージョンは、read_seqretry() が true を返すと失敗します。これが発生すると永久にループする通常のバージョンとは異なります)。ただし、より良い方法があれば、Linux カーネルのカスタマイズをすぐに開始したくありません。