You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 20, 2023. It is now read-only.
Restructure the RTOS-based timers to handle a bounded number of
expired timers per expiration of the platform timer. Previously, the
`HandleExpiredTimers` method would continously evaluate the current
list of timers, and keep evaluating the currently expired timers. If
the timer handler code resulted in posting the timer with an
expiration code in the past (e.g. a timer with expiration time of 0),
the control would not be returned from the timer handling code, and
the as a result, processing of other Weave events would be starved.
The new approach commits to processing all timers expired at the
beginning of the `HandleExpiredTimers` function; any timers created
and expired as a result of the timer handlers will be processed on a
subsequent invocation of the `HandleExpiredTimers`. Added a unit test
to check for the condition.
0 commit comments