Lines Matching refs:dbmp
38 DB_MPOOL *dbmp; local
55 if ((ret = __os_calloc(1, sizeof(DB_MPOOL), &dbmp)) != 0)
57 LIST_INIT(&dbmp->dbregq);
58 TAILQ_INIT(&dbmp->dbmfq);
60 dbmp->dbenv = dbenv;
70 F_SET(dbmp, MP_LOCKREGION);
71 if ((ret = __memp_ropen(dbmp,
74 F_CLR(dbmp, MP_LOCKREGION);
82 F_SET(dbmp, MP_LOCKREGION);
84 F_SET(dbmp, MP_LOCKHANDLE | MP_LOCKREGION);
85 LOCKREGION(dbmp);
86 ret = __memp_alloc(dbmp,
87 sizeof(db_mutex_t), NULL, &dbmp->mutexp);
88 UNLOCKREGION(dbmp);
90 (void)memp_close(dbmp);
93 LOCKINIT(dbmp, dbmp->mutexp);
96 *retp = dbmp;
99 err: if (dbmp != NULL)
100 __os_free(dbmp, sizeof(DB_MPOOL));
109 memp_close(dbmp) in memp_close() argument
110 DB_MPOOL *dbmp; in memp_close()
118 MP_PANIC_CHECK(dbmp);
121 while ((mpreg = LIST_FIRST(&dbmp->dbregq)) != NULL) {
127 while ((dbmfp = TAILQ_FIRST(&dbmp->dbmfq)) != NULL)
132 if (F_ISSET(dbmp, MP_LOCKHANDLE)) {
133 LOCKREGION(dbmp);
134 __db_shalloc_free(dbmp->addr, dbmp->mutexp);
135 UNLOCKREGION(dbmp);
139 if ((t_ret = __db_rdetach(&dbmp->reginfo)) != 0 && ret == 0)
142 if (dbmp->reginfo.path != NULL)
143 __os_freestr(dbmp->reginfo.path);
144 __os_free(dbmp, sizeof(DB_MPOOL));
193 memp_register(dbmp, ftype, pgin, pgout) in memp_register() argument
194 DB_MPOOL *dbmp; in memp_register()
202 MP_PANIC_CHECK(dbmp);
216 LOCKHANDLE(dbmp, dbmp->mutexp);
217 LIST_INSERT_HEAD(&dbmp->dbregq, mpr, q);
218 UNLOCKHANDLE(dbmp, dbmp->mutexp);