---
title: IOSimpleLockTryLock
framework: kernel
role: symbol
role_heading: Function
path: kernel/1553029-iosimplelocktrylock
---

# IOSimpleLockTryLock

Attempt to lock a spin lock.

## Declaration

```occ
boolean_t IOSimpleLockTryLock(IOSimpleLock *lock);
```

## Parameters

- `lock`: Pointer to the lock.

## Discussion

Discussion Lock the spin lock if it is currently unlocked, and return true. If the lock is held, return false. Successful calls to IOSimpleLockTryLock should be balanced with calls to IOSimpleLockUnlock.

## See Also

### Simple Locks

- [IOSimpleLockAlloc](kernel/1553017-iosimplelockalloc.md)
- [IOSimpleLockInit](kernel/1552990-iosimplelockinit.md)
- [IOSimpleLockDestroy](kernel/3380136-iosimplelockdestroy.md)
- [IOSimpleLockFree](kernel/1553035-iosimplelockfree.md)
- [IOSimpleLockGetMachLock](kernel/1553019-iosimplelockgetmachlock.md)
- [IOSimpleLockLock](kernel/1552997-iosimplelocklock.md)
- [IOSimpleLockLockDisableInterrupt](kernel/1553005-iosimplelocklockdisableinterrupt.md)
- [IOSimpleLockUnlock](kernel/1553015-iosimplelockunlock.md)
- [IOSimpleLockUnlockEnableInterrupt](kernel/1552998-iosimplelockunlockenableinterrup.md)
