• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/objc4-646/runtime/

Lines Matching refs:lock

25 * objc-lock.m
38 void *l; // the lock itself
39 int k; // the kind of lock it is (MUTEX, MONITOR, etc)
40 int i; // the lock's nest count
104 hasLock(_objc_lock_list *locks, void *lock, int kind)
110 if (locks->list[i].l == lock && locks->list[i].k == kind) return YES;
117 setLock(_objc_lock_list *locks, void *lock, int kind)
121 if (locks->list[i].l == lock && locks->list[i].k == kind) {
127 locks->list[locks->used].l = lock;
134 clearLock(_objc_lock_list *locks, void *lock, int kind)
138 if (locks->list[i].l == lock && locks->list[i].k == kind) {
147 _objc_fatal("lock not found!");
156 _mutex_lock_debug(mutex_t *lock, const char *name)
160 if (hasLock(locks, lock, MUTEX)) {
163 setLock(locks, lock, MUTEX);
165 return _mutex_lock_nodebug(lock);
169 _mutex_try_lock_debug(mutex_t *lock, const char *name)
174 int result = _mutex_try_lock_nodebug(lock);
177 setLock(locks, lock, MUTEX);
184 _mutex_unlock_debug(mutex_t *lock, const char *name)
188 if (!hasLock(locks, lock, MUTEX)) {
191 clearLock(locks, lock, MUTEX);
193 return _mutex_unlock_nodebug(lock);
197 _mutex_assert_locked_debug(mutex_t *lock, const char *name)
201 if (!hasLock(locks, lock, MUTEX)) {
208 _mutex_assert_unlocked_debug(mutex_t *lock, const char *name)
212 if (hasLock(locks, lock, MUTEX)) {
223 _recursive_mutex_lock_debug(recursive_mutex_t *lock, const char *name)
227 setLock(locks, lock, RECURSIVE);
229 return _recursive_mutex_lock_nodebug(lock);
233 _recursive_mutex_try_lock_debug(recursive_mutex_t *lock, const char *name)
237 int result = _recursive_mutex_try_lock_nodebug(lock);
240 setLock(locks, lock, RECURSIVE);
247 _recursive_mutex_unlock_debug(recursive_mutex_t *lock, const char *name)
251 if (!hasLock(locks, lock, RECURSIVE)) {
254 clearLock(locks, lock, RECURSIVE);
256 return _recursive_mutex_unlock_nodebug(lock);
260 _recursive_mutex_assert_locked_debug(recursive_mutex_t *lock, const char *name)
264 if (!hasLock(locks, lock, RECURSIVE)) {
271 _recursive_mutex_assert_unlocked_debug(recursive_mutex_t *lock, const char *name)
275 if (hasLock(locks, lock, RECURSIVE)) {
286 _monitor_enter_debug(monitor_t *lock, const char *name)
290 if (hasLock(locks, lock, MONITOR)) {
293 setLock(locks, lock, MONITOR);
295 return _monitor_enter_nodebug(lock);
299 _monitor_exit_debug(monitor_t *lock, const char *name)
303 if (!hasLock(locks, lock, MONITOR)) {
306 clearLock(locks, lock, MONITOR);
308 return _monitor_exit_nodebug(lock);
312 _monitor_wait_debug(monitor_t *lock, const char *name)
316 if (!hasLock(locks, lock, MONITOR)) {
320 return _monitor_wait_nodebug(lock);
324 _monitor_assert_locked_debug(monitor_t *lock, const char *name)
328 if (!hasLock(locks, lock, MONITOR)) {
334 _monitor_assert_unlocked_debug(monitor_t *lock, const char *name)
338 if (hasLock(locks, lock, MONITOR)) {
349 _rwlock_read_debug(rwlock_t *lock, const char *name)
353 if (hasLock(locks, lock, RDLOCK)) {
357 if (hasLock(locks, lock, WRLOCK)) {
360 setLock(locks, lock, RDLOCK);
362 _rwlock_read_nodebug(lock);
366 _rwlock_try_read_debug(rwlock_t *lock, const char *name)
372 int result = _rwlock_try_read_nodebug(lock);
375 setLock(locks, lock, RDLOCK);
382 _rwlock_unlock_read_debug(rwlock_t *lock, const char *name)
386 if (!hasLock(locks, lock, RDLOCK)) {
389 clearLock(locks, lock, RDLOCK);
391 _rwlock_unlock_read_nodebug(lock);
395 _rwlock_write_debug(rwlock_t *lock, const char *name)
399 if (hasLock(locks, lock, RDLOCK)) {
403 if (hasLock(locks, lock, WRLOCK)) {
406 setLock(locks, lock, WRLOCK);
408 _rwlock_write_nodebug(lock);
413 _rwlock_try_write_debug(rwlock_t *lock, const char *name)
419 int result = _rwlock_try_write_nodebug(lock);
422 setLock(locks, lock, WRLOCK);
429 _rwlock_unlock_write_debug(rwlock_t *lock, const char *name)
433 if (!hasLock(locks, lock, WRLOCK)) {
436 clearLock(locks, lock, WRLOCK);
438 _rwlock_unlock_write_nodebug(lock);
443 _rwlock_assert_reading_debug(rwlock_t *lock, const char *name)
447 if (!hasLock(locks, lock, RDLOCK)) {
453 _rwlock_assert_writing_debug(rwlock_t *lock, const char *name)
457 if (!hasLock(locks, lock, WRLOCK)) {
463 _rwlock_assert_locked_debug(rwlock_t *lock, const char *name)
467 if (!hasLock(locks, lock, RDLOCK) && !hasLock(locks, lock, WRLOCK)) {
474 _rwlock_assert_unlocked_debug(rwlock_t *lock, const char *name)
478 if (hasLock(locks, lock, RDLOCK) || hasLock(locks, lock, WRLOCK)) {