diff --git a/src/runtime/object.cpp b/src/runtime/object.cpp index fab5b3aa32..95dd2758da 100644 --- a/src/runtime/object.cpp +++ b/src/runtime/object.cpp @@ -788,6 +788,7 @@ public: void resolve(lean_task_object * t, object * v) { unique_lock lock(m_mutex); if (t->m_value) { + lock.unlock(); // `dec(v)` could lead to `deactivate_task` trying to take the lock dec(v); return; }