Lines Matching refs:lock
46 IOLockInitWithState( IOLock * lock, IOLockState state) in IOLockInitWithState() argument
49 lck_mtx_lock( lock); in IOLockInitWithState()
60 IOLockInlineInit( IOLock *lock ) in IOLockInlineInit() argument
62 lck_mtx_init(lock, IOLockGroup, LCK_ATTR_NULL); in IOLockInlineInit()
66 IOLockInlineDestroy( IOLock * lock) in IOLockInlineDestroy() argument
68 lck_mtx_destroy( lock, IOLockGroup); in IOLockInlineDestroy()
72 IOLockFree( IOLock * lock) in IOLockFree() argument
74 lck_mtx_free( lock, IOLockGroup); in IOLockFree()
78 IOLockGetMachLock( IOLock * lock) in IOLockGetMachLock() argument
80 return (lck_mtx_t *)lock; in IOLockGetMachLock()
84 IOLockSleep( IOLock * lock, void *event, UInt32 interType) in IOLockSleep() argument
86 …return (int) lck_mtx_sleep(lock, LCK_SLEEP_PROMOTED_PRI, (event_t) event, (wait_interrupt_t) inter… in IOLockSleep()
90 IOLockSleepDeadline( IOLock * lock, void *event, in IOLockSleepDeadline() argument
93 return (int) lck_mtx_sleep_deadline(lock, LCK_SLEEP_PROMOTED_PRI, (event_t) event, in IOLockSleepDeadline()
98 IOLockSleepWithInheritor( IOLock *lock, UInt32 lck_sleep_action, in IOLockSleepWithInheritor() argument
101 …return (int) lck_mtx_sleep_with_inheritor(lock, (lck_sleep_action_t) lck_sleep_action, (event_t) e… in IOLockSleepWithInheritor()
106 IOLockWakeup(IOLock * lock, void *event, bool oneThread) in IOLockWakeup() argument
112 IOLockWakeupAllWithInheritor(IOLock * lock, void *event) in IOLockWakeupAllWithInheritor() argument
123 int IOLockSleep_legacy_x86_64( IOLock * lock, void *event, UInt32 interType) __asm("_IOLockSlee…
124 int IOLockSleepDeadline_legacy_x86_64( IOLock * lock, void *event,
126 void IOLockWakeup_legacy_x86_64(IOLock * lock, void *event, bool oneThread) __asm("_IOLockWakeup…
129 IOLockSleep_legacy_x86_64( IOLock * lock, void *event, UInt32 interType) in IOLockSleep_legacy_x86_64() argument
135 return IOLockSleep(lock, event, interType); in IOLockSleep_legacy_x86_64()
139 IOLockSleepDeadline_legacy_x86_64( IOLock * lock, void *event, in IOLockSleepDeadline_legacy_x86_64() argument
146 return IOLockSleepDeadline(lock, event, deadline, interType); in IOLockSleepDeadline_legacy_x86_64()
150 IOLockWakeup_legacy_x86_64(IOLock * lock, void *event, bool oneThread) in IOLockWakeup_legacy_x86_64() argument
156 IOLockWakeup(lock, event, oneThread); in IOLockWakeup_legacy_x86_64()
171 _IORecursiveLock * lock; in IORecursiveLockAllocWithLockGroup() local
177 lock = IOMallocType( _IORecursiveLock ); in IORecursiveLockAllocWithLockGroup()
178 if (!lock) { in IORecursiveLockAllocWithLockGroup()
182 lck_mtx_init( &lock->mutex, lockGroup, LCK_ATTR_NULL ); in IORecursiveLockAllocWithLockGroup()
183 lock->group = lockGroup; in IORecursiveLockAllocWithLockGroup()
184 lock->thread = NULL; in IORecursiveLockAllocWithLockGroup()
185 lock->count = 0; in IORecursiveLockAllocWithLockGroup()
187 return (IORecursiveLock *) lock; in IORecursiveLockAllocWithLockGroup()
200 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockFree() local
202 lck_mtx_destroy(&lock->mutex, lock->group); in IORecursiveLockFree()
203 IOFreeType( lock, _IORecursiveLock ); in IORecursiveLockFree()
207 IORecursiveLockGetMachLock( IORecursiveLock * lock ) in IORecursiveLockGetMachLock() argument
209 return &lock->mutex; in IORecursiveLockGetMachLock()
215 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockLock() local
217 if (lock->thread == IOThreadSelf()) { in IORecursiveLockLock()
218 lock->count++; in IORecursiveLockLock()
220 lck_mtx_lock( &lock->mutex ); in IORecursiveLockLock()
221 assert( lock->thread == NULL ); in IORecursiveLockLock()
222 assert( lock->count == 0 ); in IORecursiveLockLock()
223 lock->thread = IOThreadSelf(); in IORecursiveLockLock()
224 lock->count = 1; in IORecursiveLockLock()
231 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockTryLock() local
233 if (lock->thread == IOThreadSelf()) { in IORecursiveLockTryLock()
234 lock->count++; in IORecursiveLockTryLock()
237 if (lck_mtx_try_lock( &lock->mutex )) { in IORecursiveLockTryLock()
238 assert( lock->thread == NULL ); in IORecursiveLockTryLock()
239 assert( lock->count == 0 ); in IORecursiveLockTryLock()
240 lock->thread = IOThreadSelf(); in IORecursiveLockTryLock()
241 lock->count = 1; in IORecursiveLockTryLock()
251 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockUnlock() local
253 assert( lock->thread == IOThreadSelf()); in IORecursiveLockUnlock()
255 if (0 == (--lock->count)) { in IORecursiveLockUnlock()
256 lock->thread = NULL; in IORecursiveLockUnlock()
257 lck_mtx_unlock( &lock->mutex ); in IORecursiveLockUnlock()
264 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockHaveLock() local
266 return lock->thread == IOThreadSelf(); in IORecursiveLockHaveLock()
272 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockSleep() local
273 UInt32 count = lock->count; in IORecursiveLockSleep()
276 assert(lock->thread == IOThreadSelf()); in IORecursiveLockSleep()
278 lock->count = 0; in IORecursiveLockSleep()
279 lock->thread = NULL; in IORecursiveLockSleep()
280 …res = lck_mtx_sleep(&lock->mutex, LCK_SLEEP_PROMOTED_PRI, (event_t) event, (wait_interrupt_t) inte… in IORecursiveLockSleep()
284 assert(lock->thread == NULL); in IORecursiveLockSleep()
285 assert(lock->count == 0); in IORecursiveLockSleep()
286 lock->thread = IOThreadSelf(); in IORecursiveLockSleep()
287 lock->count = count; in IORecursiveLockSleep()
295 _IORecursiveLock * lock = (_IORecursiveLock *)_lock; in IORecursiveLockSleepDeadline() local
296 UInt32 count = lock->count; in IORecursiveLockSleepDeadline()
299 assert(lock->thread == IOThreadSelf()); in IORecursiveLockSleepDeadline()
301 lock->count = 0; in IORecursiveLockSleepDeadline()
302 lock->thread = NULL; in IORecursiveLockSleepDeadline()
303 res = lck_mtx_sleep_deadline(&lock->mutex, LCK_SLEEP_PROMOTED_PRI, (event_t) event, in IORecursiveLockSleepDeadline()
308 assert(lock->thread == NULL); in IORecursiveLockSleepDeadline()
309 assert(lock->count == 0); in IORecursiveLockSleepDeadline()
310 lock->thread = IOThreadSelf(); in IORecursiveLockSleepDeadline()
311 lock->count = count; in IORecursiveLockSleepDeadline()
332 IORWLockInlineInit( IORWLock *lock ) in IORWLockInlineInit() argument
334 lck_rw_init(lock, IOLockGroup, LCK_ATTR_NULL); in IORWLockInlineInit()
338 IORWLockInlineDestroy( IORWLock * lock) in IORWLockInlineDestroy() argument
340 lck_rw_destroy( lock, IOLockGroup); in IORWLockInlineDestroy()
344 IORWLockFree( IORWLock * lock) in IORWLockFree() argument
346 lck_rw_free( lock, IOLockGroup); in IORWLockFree()
350 IORWLockGetMachLock( IORWLock * lock) in IORWLockGetMachLock() argument
352 return (lck_rw_t *)lock; in IORWLockGetMachLock()
367 IOSimpleLockInit( IOSimpleLock * lock) in IOSimpleLockInit() argument
369 lck_spin_init( lock, IOLockGroup, LCK_ATTR_NULL); in IOSimpleLockInit()
373 IOSimpleLockDestroy( IOSimpleLock * lock ) in IOSimpleLockDestroy() argument
375 lck_spin_destroy(lock, IOLockGroup); in IOSimpleLockDestroy()
379 IOSimpleLockFree( IOSimpleLock * lock ) in IOSimpleLockFree() argument
381 lck_spin_free( lock, IOLockGroup); in IOSimpleLockFree()
385 IOSimpleLockGetMachLock( IOSimpleLock * lock) in IOSimpleLockGetMachLock() argument
387 return (lck_spin_t *)lock; in IOSimpleLockGetMachLock()
396 IOLockAssert(IOLock * lock, IOLockAssertState type) in IOLockAssert() argument
398 LCK_MTX_ASSERT(lock, type); in IOLockAssert()
402 IORWLockAssert(IORWLock * lock, IORWLockAssertState type) in IORWLockAssert() argument
404 LCK_RW_ASSERT(lock, type); in IORWLockAssert()
408 IOSimpleLockAssert(IOSimpleLock *lock, IOSimpleLockAssertState type) in IOSimpleLockAssert() argument