++ /* granted, no doubt. wake up will set me RUNNING.
++ * Since thread would be waken up accidentally,
++ * so we need check lock whether granted or not again. */
++ if (!list_empty(&lck->lk_blocked_list)) {
++ htree_spin_lock(lhead, HTREE_DEP_ROOT);
++ if (list_empty(&lck->lk_blocked_list)) {
++ htree_spin_unlock(lhead, HTREE_DEP_ROOT);
++ return 0;
++ }
++ goto retry;
++ }