Lines Matching refs:nlist

44 	virtual enum LOCK_RESULT rdlock(unsigned *nlist, unsigned list_size) = 0;
45 virtual enum LOCK_RESULT wrlock(unsigned *nlist, unsigned list_size) = 0;
46 virtual enum LOCK_RESULT unlock(unsigned *nlist, unsigned list_size) = 0;
47 virtual enum LOCK_RESULT try_rdlock(unsigned *nlist, unsigned list_size) = 0;
48 virtual enum LOCK_RESULT try_wrlock(unsigned *nlist, unsigned list_size) = 0;
76 enum LOCK_RESULT rdlock(unsigned *nlist, unsigned list_size);
79 enum LOCK_RESULT wrlock(unsigned *nlist, unsigned list_size);
82 enum LOCK_RESULT unlock(unsigned *nlist, unsigned list_size);
87 enum LOCK_RESULT try_rdlock(unsigned *nlist, unsigned list_size);
90 enum LOCK_RESULT try_wrlock(unsigned *nlist, unsigned list_size);
93 enum LOCK_RESULT _internalLockOp(enum LOCK_OP lop, unsigned *nlist, unsigned list_size);
146 enum LOCK_RESULT LockPool<N>::rdlock(unsigned *nlist, unsigned list_size) { in rdlock() argument
148 assert(nlist[i] < N); in rdlock()
149 LOCK_TRACE("*rd", nlist[i]); in rdlock()
150 CRIT_ASSERT(pthread_rwlock_rdlock_l(&locks[nlist[i]]) == 0); in rdlock()
153 enum LOCK_RESULT lres = lnf->rdlock(nlist, list_size); in rdlock()
157 CRIT_ASSERT(pthread_rwlock_unlock(&locks[nlist[i]]) == 0); in rdlock()
182 enum LOCK_RESULT LockPool<N>::wrlock(unsigned *nlist, unsigned list_size) { in wrlock() argument
184 assert(nlist[i] < N); in wrlock()
185 LOCK_TRACE("*wr", nlist[i]); in wrlock()
186 CRIT_ASSERT(pthread_rwlock_wrlock(&locks[nlist[i]]) == 0); in wrlock()
189 enum LOCK_RESULT lres = lnf->wrlock(nlist, list_size); in wrlock()
193 CRIT_ASSERT(pthread_rwlock_unlock(&locks[nlist[i]]) == 0); in wrlock()
197 generations[nlist[i]]++; in wrlock()
217 enum LOCK_RESULT LockPool<N>::unlock(unsigned *nlist, unsigned list_size) { in unlock() argument
219 LOCK_TRACE("*un", nlist[i]); in unlock()
220 CRIT_ASSERT(pthread_rwlock_unlock(&locks[nlist[i]]) == 0); in unlock()
223 lnf->unlock(nlist, list_size); in unlock()
255 enum LOCK_RESULT LockPool<N>::try_rdlock(unsigned *nlist, unsigned list_size) { in try_rdlock() argument
257 LOCK_TRACE("*tryrd", nlist[i]); in try_rdlock()
258 int result = pthread_rwlock_tryrdlock(&locks[nlist[i]]); in try_rdlock()
261 pthread_rwlock_unlock(&locks[nlist[j]]); in try_rdlock()
268 if (lnf->try_rdlock(nlist, list_size) == LR_OK) in try_rdlock()
272 pthread_rwlock_unlock(&locks[nlist[i]]); in try_rdlock()
305 enum LOCK_RESULT LockPool<N>::try_wrlock(unsigned *nlist, unsigned list_size) { in try_wrlock() argument
307 LOCK_TRACE("*trywr", nlist[i]); in try_wrlock()
308 int result = pthread_rwlock_trywrlock(&locks[nlist[i]]); in try_wrlock()
311 pthread_rwlock_unlock(&locks[nlist[j]]); in try_wrlock()
318 if (lnf->try_wrlock(nlist, list_size) == LR_OK) in try_wrlock()
322 pthread_rwlock_unlock(&locks[nlist[i]]); in try_wrlock()
331 enum LOCK_RESULT LockPool<N>::_internalLockOp(enum LOCK_OP lop, unsigned *nlist, unsigned list_size… in _internalLockOp() argument
338 CRIT_ASSERT(pthread_rwlock_rdlock_l(&locks[nlist[i]]) == 0); in _internalLockOp()
342 CRIT_ASSERT(pthread_rwlock_wrlock(&locks[nlist[i]]) == 0); in _internalLockOp()
346 CRIT_ASSERT(pthread_rwlock_unlock(&locks[nlist[i]]) == 0); in _internalLockOp()
350 if ((result = pthread_rwlock_tryrdlock(&locks[nlist[i]])) != 0) { in _internalLockOp()
352 CRIT_ASSERT(pthread_rwlock_unlock(&locks[nlist[j]]) == 0); in _internalLockOp()
358 if ((result = pthread_rwlock_trywrlock(&locks[nlist[i]])) != 0) { in _internalLockOp()
360 CRIT_ASSERT(pthread_rwlock_unlock(&locks[nlist[j]]) == 0); in _internalLockOp()