OpenSCADAWiki: Errors/Known Bugs/19122005 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 

Описание ошибки от 19.12.2005. Интервальный таймер неправильно работает на системах с NPTL


Сформировалось подозрение на багу в работе интервального таймера и сигналов в NPTL на ядрах >= 2.6.12.
Проблема в следующем:


Для примера написана тестовая программа которая воспроизводит эту проблему. На системах без NPTL и на системах с NPTL на ядрах 2.4 (ALTLinux2.4, ASPLinux9) результаты её работы такие:

ALTLinux2.4


На системах с NPTL и ядрами >= 2.6.12 (SuSE10_64, Mandriva2006, FedoreCore4_64) результаты её работы такие:

SuSE 10 (64)


Из протокола выполнения программы на SuSE10 видно что:


Проблему выявлено на дистрибутивай:

На всех этих дистрибутивах используется: kernel >=2.6.12, glibc 2.3.5, gcc 4.0, NPTL


Не выявлено на дистрибутивах:


Похоже на проблему в особенности реализации интервального таймера на NPTL. В связи с которой становится невозможным получить интервалы в потоках для задач такого типа. В связи с этим, для данных задач, рассматривается вариант использования возможности таймера создавать поток по истечению времени.

Исходники тестовой программы


 
Files[Hide files/form]
There is no comment on this page. [Display comments/form]