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 committed by bot
parent 1be70588f3
commit 50fe7e540e

View File

@ -300,8 +300,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