diff --git a/components/common/cpp/src/timer.cpp b/components/common/cpp/src/timer.cpp index 0efe520928c5916a23d4c7b4ad7af533dbaa4a2f..2ef4432415615057691bc68de063b5fdfcd2feab 100644 --- a/components/common/cpp/src/timer.cpp +++ b/components/common/cpp/src/timer.cpp @@ -220,10 +220,10 @@ static void trigger_jobs() { // If last job in list then do in this thread if (active_jobs == jobs[kTimerMain].size()+1) { + lk.unlock(); bool doremove = !pj->job.trigger(ts); pj->active = false; active_jobs--; - lk.unlock(); if (doremove) removeJob(pj->id); lk.lock(); break;