XtAppAddTimeout и перекос часов

Моя компания производит встраиваемые системы на базе Linux. Для целей тестирования оборудования мы используем программу на основе набора инструментов Xt. Он работает нормально, за исключением того, что начальная системная дата неверна и корректируется только позже NTP в процедуре запуска. Это сбивает с толку библиотеку Xt, которая определяет некоторые таймауты с помощью. Похоже, что Xt неправильно управляет сдвигом часов, особенно если фактическая дата находится далеко в прошлом. По многим причинам я не могу изменить ни среду тестирования, ни приложение (за исключением небольших локальных изменений, что я в итоге и сделал).

Я быстро решил проблему, добавив поток, который генерирует «тактовые часы», отправляя символ на сторону записи локального канала и перехватывая события на стороне чтения, регистрируя обратный вызов через. Приложение работает, но я бы предпочел более простое решение. Было бы здорово, если бы Xt использовал монотонные часы, но это не так (или, если да, то я не знаю, как их включить). Я также подумывал «подделать» API, перехватив,,и т. д. с помощью трюков с динамическими ссылками, но это не кажется таким простым, хотя в принципе возможно. Итак, существуют ли известные (проще говоря, шахтные) способы решения этой проблемы?

0 ответов

Другие вопросы по тегам