holders
SH_TAILQ_INSERT_TAIL(&obj->holders, lp_w, links);
for (lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock);
lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock)) {
SH_TAILQ_REMOVE(&sh_obj->holders, lp, links,
SH_TAILQ_REMOVE(&sh_obj->holders, lockp, links, __db_lock);
if (SH_TAILQ_FIRST(&sh_obj->holders, __db_lock) == NULL) {
for (lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock);
SH_TAILQ_INSERT_TAIL(&sh_obj->holders, newl, links);
SH_TAILQ_REMOVE(&sh_obj->holders,
for (lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock);
lp = SH_TAILQ_FIRST(&sh_obj->holders, __db_lock)) {
SH_TAILQ_INIT(&sh_obj->holders);
for (lp_h = SH_TAILQ_FIRST(&obj->holders, __db_lock);
for (lp = SH_TAILQ_FIRST(&op->holders, __db_lock);
SH_TAILQ_FIRST(&op->holders, __db_lock);