LINUX.ORG.RU

История изменений

Исправление yax123, (текущая версия) :

вопрос на засыпку.

Опять взвожу async_wait (с таймаутом 1500мкс), asyn_read. Вызываю run_one. и через 5 мкс мне прилетает калбек таймера (с ошибкой system:125, если это важно). А иногда повторно еще через 7 мкс примерно (с той же ошибкой). А потом прилетает калбек чтения (пустой), и потом уже нормальный калбек таймера через нормальное время.

Есть подозрение, что перед выходом предыдущего вызова не происходит отмена операций. И вот она меня догоняет на следующей итерации. Так возможно? Понятно, что все вызовы cancel в коде есть.

Ну и вот такой преждевременный калбек от таймера прилетает, только тогда когда на предыдущей итерации было удачное чтение из порта.

Исходная версия yax123, :

вопрос на засыпку.

Опять взвожу async_wait (с таймаутом 1500мкс), asyn_read. Вызываю run_one. и через 5 мкс мне прилетает калбек таймера. А иногда повторно еще через 7 мкс примерно. А потом прилетает калбек чтения (пустой), и потом уже нормальный калбек таймера через нормальное время.

Есть подозрение, что перед выходом предыдущего вызова не происходит отмена операций. И вот она меня догоняет на следующей итерации. Так возможно? Понятно, что все вызовы cancel в коде есть.