-+ htree_key_event_enqueue(child, newln, dep, event);
++ /* Need to check lock really granted, thread maybe awaken wrongly */
++ if (list_empty(&newln->ln_granted_list) && htree_key_list_empty(newln))
++ goto retry;
++ if (event && !htree_key_event_ignore(child, newln))
++ htree_key_event_enqueue(child, newln, dep, event);
++