Lines Matching refs:mp
139 __db_mutex_init(mp, off)
140 db_mutex_t *mp;
144 if ((ALIGNTYPE)mp & (MUTEX_ALIGNMENT - 1)) {
151 memset(mp, 0, sizeof(db_mutex_t));
157 if (TSL_INIT(&mp->tsl_resource))
160 TSL_INIT(&mp->tsl_resource);
162 mp->spins = __os_spin();
164 mp->off = off;
179 __db_mutex_lock(mp, fd)
180 db_mutex_t *mp;
200 for (nspins = mp->spins; nspins > 0; --nspins)
201 if (TSL_SET(&mp->tsl_resource)) {
203 if (mp->pid != 0) {
208 mp->pid = getpid();
211 ++mp->mutex_set_nowait;
213 ++mp->mutex_set_wait;
228 k_lock.l_start = mp->off;
236 for (usecs = MS(1); mp->pid != 0;) {
248 if (mp->pid == 0) {
250 mp->pid = mypid;
281 __db_mutex_unlock(mp, fd)
282 db_mutex_t *mp;
289 if (mp->pid == 0) {
300 mp->pid = 0;
304 TSL_UNSET(&mp->tsl_resource);
311 mp->pid = 0;