Timer design questions?

The timer seems to determine that a callback is likely to be executed twice in the process processing code
file: timers.c
pxTimer->pxCallbackFunction((TimerHandle_t)pxTimer);
file:///home/wangwei/%E5%9B%BE%E7%89%87/173069170-b2b6f5de-6371-4b36-a3b0-c73813a77fc9.png
173069178-217af504-ab5a-4fa0-9574-aaf7e83a19ff

thanks for you!

I think it’s right because the callback is invoked for the current timer expiration and if it’s an auto-reload timer and also the next or further timeouts are already expired,
the corresponding number of callback invocations needs to be done.
The number of expirations and callback invocations should match.
The latter situation (multiple pending timeouts of a timer at the same time) is a corner case which shouldn’t happen because the timer process should have the highest prio in applications to process timeouts in time.

I understand. Thank you for your answer

If there really is a (corner case) problem in the timer code @rtel should be notified or feel free to propose a solution / create a pull request for it.
Just to be on the same page, you’re referring to the latest FreeRTOS code, right ?

Yes, I will confirm again and again, maybe I understand the question, thank you for your answer