diff --git a/reclaim.c b/reclaim.c index fd2b2198f..5a4a043d0 100644 --- a/reclaim.c +++ b/reclaim.c @@ -893,11 +893,9 @@ static void* init_finalize_thread(void *arg) while (flzr_can_work == 0) { pthread_cond_wait(&flzr_t_has_work, &flzr_mtx); } - pthread_mutex_unlock(&flzr_mtx); - GC_invoke_finalizers(); - pthread_mutex_lock(&flzr_mtx); flzr_can_work = 0; pthread_mutex_unlock(&flzr_mtx); + GC_invoke_finalizers(); } return arg; }