---
title: IOLockFree
framework: kernel
role: symbol
role_heading: Function
path: kernel/1553034-iolockfree
---

# IOLockFree

Frees a mutex.

## Declaration

```occ
void IOLockFree(struct IOLock *lock);
```

```occ
void IOLockFree(IOLock *lock);
```

## Parameters

- `lock`: Pointer to the allocated lock.

## Discussion

Discussion Frees a lock allocated with IOLockAlloc. Mutex should be unlocked with no waiters.

## See Also

### Mutexes

- [IOLockAlloc](kernel/1553021-iolockalloc.md)
- [IOLockInitWithState](kernel/1553028-iolockinitwithstate.md)
- [IOTryLock](kernel/1553012-iotrylock.md)
- [IOTakeLock](kernel/1553007-iotakelock.md)
- [IOLockLock](kernel/1553000-iolocklock.md)
- [IOUnlock](kernel/1552994-iounlock.md)
- [IOLockTryLock](kernel/1553018-iolocktrylock.md)
- [IOLockUnlock](kernel/1553006-iolockunlock.md)
- [IOLockWakeup](kernel/1553016-iolockwakeup.md)
- [IOLockSleep](kernel/1553026-iolocksleep.md)
- [IOLockSleepDeadline](kernel/1553030-iolocksleepdeadline.md)
- [IOLockGetMachLock](kernel/1553008-iolockgetmachlock.md)
