esp_timer: fix the bug that when timeout of timer happens try to run callback, and high priority task delete the timer and break the callback

This commit is contained in:
Jack 2019-11-19 22:33:34 +08:00
parent da636bd4ac
commit 5102308b2b

View file

@ -285,8 +285,10 @@ static void timer_process_alarm(esp_timer_dispatch_t dispatch_method)
#if WITH_PROFILING
uint64_t callback_start = now;
#endif
esp_timer_cb_t callback = it->callback;
void* arg = it->arg;
timer_list_unlock();
(*it->callback)(it->arg);
(*callback)(arg);
timer_list_lock();
now = esp_timer_impl_get_time();
#if WITH_PROFILING