Lines Matching refs:infop
115 __db_mapregion(path, infop) in __db_mapregion() argument
117 REGINFO *infop;
126 F_SET(infop, REGION_HOLDINGSYS);
127 return (__db_jump.j_map(path, infop->fd, infop->size,
128 1, F_ISSET(infop, REGION_ANONYMOUS), 0, &infop->addr));
131 if (F_ISSET(infop, REGION_ANONYMOUS)) {
160 if (!called && F_ISSET(infop, REGION_PRIVATE)) {
163 infop->fd, infop->size, 1, 1, 0, &infop->addr);
169 ret = __os_shmget(infop);
180 if (!F_ISSET(infop, REGION_CREATED)) {
181 __db_err(infop->dbenv,
187 infop->fd, infop->size, 1, 1, 0, &infop->addr);
202 F_SET(infop, REGION_CANGROW);
205 infop->fd, infop->size, 1, 0, 0, &infop->addr);
211 ret = __os_shmget(infop);
225 __db_unmapregion(infop) in __db_unmapregion() argument
226 REGINFO *infop; in __db_unmapregion()
234 return (__db_jump.j_unmap(infop->addr, infop->size));
237 if (infop->segid != INVALID_SEGID) {
239 ret = shmdt(infop->addr) ? errno : 0;
245 ret = munmap(infop->addr, infop->size) ? errno : 0;
258 __db_unlinkregion(name, infop) in __db_unlinkregion() argument
260 REGINFO *infop;
271 if (infop->segid != INVALID_SEGID) {
273 ret = shmctl(infop->segid, IPC_RMID, NULL) ? errno : 0;
277 COMPQUIET(infop, NULL);
427 __os_shmget(infop) in __os_shmget() argument
428 REGINFO *infop; in __os_shmget()
430 if (F_ISSET(infop, REGION_CREATED) &&
431 (infop->segid = shmget(0, infop->size, IPC_PRIVATE | 0600)) == -1)
434 if ((infop->addr = shmat(infop->segid, NULL, 0)) == (void *)-1) {
439 if (!F_ISSET(infop, REGION_CREATED))
444 F_SET(infop, REGION_HOLDINGSYS);