Lines Matching refs:newl

442 	struct __db_lock *newl, *lp;  local
461 if ((newl = SH_TAILQ_FIRST(&lrp->free_locks, __db_lock)) == NULL) {
465 newl = SH_TAILQ_FIRST(&lrp->free_locks, __db_lock);
467 newl_off = LOCK_TO_OFFSET(lt, newl);
470 SH_TAILQ_REMOVE(&lrp->free_locks, newl, links, __db_lock);
472 newl->mode = lock_mode;
473 newl->status = DB_LSTAT_HELD;
474 newl->holder = locker;
475 newl->refcount = 1;
481 newl = OFFSET_TO_LOCK(lt, newl_off);
484 newl->obj = SH_PTR_TO_OFF(newl, sh_obj);
525 newl, links, __db_lock);
544 SH_TAILQ_INSERT_HEAD(&sh_obj->waiters, newl, links, __db_lock);
557 SH_TAILQ_INSERT_TAIL(&sh_obj->holders, newl, links);
559 SH_TAILQ_INSERT_TAIL(&sh_obj->waiters, newl, links);
562 newl->status = DB_LSTAT_FREE;
563 SH_TAILQ_INSERT_HEAD(&lrp->free_locks, newl, links, __db_lock);
578 SH_LIST_INSERT_HEAD(&sh_locker->heldby, newl, locker_links, __db_lock);
586 wait: (void)__db_mutex_init(&newl->mutex,
587 MUTEX_LOCK_OFFSET(lt->region, &newl->mutex));
588 (void)__db_mutex_lock(&newl->mutex, lt->reginfo.fd);
590 newl->status = DB_LSTAT_WAITING;
609 (void)__db_mutex_lock(&newl->mutex, lt->reginfo.fd);
612 if (newl->status != DB_LSTAT_PENDING) {
617 if (newl->status == DB_LSTAT_ABORTED)
620 __lock_checklocker(lt, newl, 0);
621 SH_TAILQ_INSERT_HEAD(&lrp->free_locks, newl, links,
623 switch (newl->status) {
634 newl->status = DB_LSTAT_FREE;
635 newl = NULL;
643 newl, links, __db_lock);
646 newl->status = DB_LSTAT_HELD;
649 *lockp = newl;
658 newl->status = DB_LSTAT_FREE;
659 SH_TAILQ_INSERT_HEAD(&lrp->free_locks, newl, links, __db_lock);