Lines Matching defs:sh_locker
139 DB_LOCKER *sh_locker;
165 __lock_getlocker_int(env->lk_handle, id, 0, &sh_locker)) == 0) {
166 if (sh_locker != NULL)
167 ret = __lock_freelocker(lt, region, sh_locker);
189 __lock_id_free(env, sh_locker)
191 DB_LOCKER *sh_locker;
201 if (sh_locker->nlocks != 0) {
208 ret = __lock_freelocker(lt, region, sh_locker);
283 DB_LOCKER *sh_locker;
297 SH_TAILQ_FOREACH(sh_locker, <->locker_tab[indx], links, __db_locker)
298 if (sh_locker->id == locker)
300 if (sh_locker == NULL && create) {
302 if ((sh_locker = SH_TAILQ_FIRST(
306 ®ion->free_lockers, sh_locker, links, __db_locker);
312 sh_locker->id = locker;
314 env->dbenv, &sh_locker->pid, &sh_locker->tid);
315 sh_locker->dd_id = 0;
316 sh_locker->master_locker = INVALID_ROFF;
317 sh_locker->parent_locker = INVALID_ROFF;
318 SH_LIST_INIT(&sh_locker->child_locker);
319 sh_locker->flags = 0;
320 SH_LIST_INIT(&sh_locker->heldby);
321 sh_locker->nlocks = 0;
322 sh_locker->nwrites = 0;
323 sh_locker->lk_timeout = 0;
324 timespecclear(&sh_locker->tx_expire);
325 timespecclear(&sh_locker->lk_expire);
328 <->locker_tab[indx], sh_locker, links, __db_locker);
330 sh_locker, ulinks, __db_locker);
333 *retp = sh_locker;
405 __lock_freefamilylocker(lt, sh_locker)
407 DB_LOCKER *sh_locker;
416 if (sh_locker == NULL)
421 if (SH_LIST_FIRST(&sh_locker->heldby, __db_lock) != NULL) {
428 if (sh_locker->master_locker != INVALID_ROFF)
429 SH_LIST_REMOVE(sh_locker, child_link, __db_locker);
431 ret = __lock_freelocker(lt, region, sh_locker);
446 __lock_freelocker(lt, region, sh_locker)
449 DB_LOCKER *sh_locker;
453 LOCKER_HASH(lt, region, sh_locker->id, indx);
454 SH_TAILQ_REMOVE(<->locker_tab[indx], sh_locker, links, __db_locker);
456 ®ion->free_lockers, sh_locker, links, __db_locker);
457 SH_TAILQ_REMOVE(®ion->lockers, sh_locker, ulinks, __db_locker);