• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/BerkeleyDB-21/db/lock/

Lines Matching refs:region

63 	DB_LOCKREGION *region;
76 /* Join/create the lock region. */
93 /* If we created the region, initialize it. */
99 region = lt->reginfo.primary =
102 /* Set remaining pointers into region. */
103 lt->conflicts = R_ADDR(&lt->reginfo, region->conf_off);
104 lt->obj_tab = R_ADDR(&lt->reginfo, region->obj_off);
106 lt->obj_stat = R_ADDR(&lt->reginfo, region->stat_off);
108 lt->part_array = R_ADDR(&lt->reginfo, region->part_off);
109 lt->locker_tab = R_ADDR(&lt->reginfo, region->locker_off);
126 if (region->detect != DB_LOCK_NORUN &&
128 region->detect != dbenv->lk_detect) {
134 if (region->detect == DB_LOCK_NORUN)
135 region->detect = dbenv->lk_detect;
139 * A process joining the region may have reset the lock and transaction
143 region->lk_timeout = dbenv->lk_timeout;
145 region->tx_timeout = dbenv->tx_timeout;
165 * Initialize the lock region.
177 DB_LOCKREGION *region;
189 region = lt->reginfo.primary;
190 memset(region, 0, sizeof(*region));
193 env, MTX_LOCK_REGION, 0, &region->mtx_region)) != 0)
210 region->need_dd = 0;
211 timespecclear(&region->next_timeout);
212 region->detect = DB_LOCK_NORUN;
213 region->lk_timeout = dbenv->lk_timeout;
214 region->tx_timeout = dbenv->tx_timeout;
215 region->locker_t_size = __db_tablesize(dbenv->lk_max_lockers);
216 region->object_t_size = __db_tablesize(dbenv->lk_max_objects);
217 region->part_t_size = dbenv->lk_partitions;
218 memset(&region->stat, 0, sizeof(region->stat));
219 region->stat.st_id = 0;
220 region->stat.st_cur_maxid = DB_LOCK_MAXID;
221 region->stat.st_maxlocks = dbenv->lk_max;
222 region->stat.st_maxlockers = dbenv->lk_max_lockers;
223 region->stat.st_maxobjects = dbenv->lk_max_objects;
224 region->stat.st_partitions = dbenv->lk_partitions;
225 region->stat.st_nmodes = lk_modes;
232 region->conf_off = R_OFFSET(&lt->reginfo, addr);
236 region->object_t_size * sizeof(DB_HASHTAB), &addr)) != 0)
238 __db_hashinit(addr, region->object_t_size);
239 region->obj_off = R_OFFSET(&lt->reginfo, addr);
243 region->object_t_size * sizeof(DB_LOCK_HSTAT), &addr)) != 0)
245 memset(addr, 0, region->object_t_size * sizeof(DB_LOCK_HSTAT));
246 region->stat_off = R_OFFSET(&lt->reginfo, addr);
250 region->part_t_size * sizeof(DB_LOCKPART), &part)) != 0)
252 memset(part, 0, region->part_t_size * sizeof(DB_LOCKPART));
253 region->part_off = R_OFFSET(&lt->reginfo, part);
254 for (i = 0; i < region->part_t_size; i++) {
260 env, MTX_LOCK_REGION, 0, &region->mtx_dd)) != 0)
264 env, MTX_LOCK_REGION, 0, &region->mtx_lockers)) != 0)
269 region->locker_t_size * sizeof(DB_HASHTAB), &addr)) != 0)
271 __db_hashinit(addr, region->locker_t_size);
272 region->locker_off = R_OFFSET(&lt->reginfo, addr);
274 SH_TAILQ_INIT(&region->dd_objs);
279 extra_locks = region->stat.st_maxlocks -
280 ((region->stat.st_maxlocks / region->part_t_size) *
281 region->part_t_size);
282 extra_objects = region->stat.st_maxobjects -
283 ((region->stat.st_maxobjects / region->part_t_size) *
284 region->part_t_size);
285 for (j = 0; j < region->part_t_size; j++) {
288 max = region->stat.st_maxlocks / region->part_t_size;
304 max = region->stat.st_maxobjects / region->part_t_size;
321 SH_TAILQ_INIT(&region->lockers);
322 SH_TAILQ_INIT(&region->free_lockers);
323 for (i = 0; i < region->stat.st_maxlockers; ++i) {
331 &region->free_lockers, lidp, links, __db_locker);
361 * If a private region, return the memory to the heap. Not needed for
408 /* Detach from the region. */
420 * Return the number of mutexes the lock region will need.
437 * Return the region size.