---
title: lock
framework: kernel
role: pseudoSymbol
path: kernel/iokerneldebugger/1812643-lock
---

# lock

Takes the debugger lock conditionally.

## Declaration

```occ
static IODebuggerLockState lock(
 IOService *target ); 
```

## Parameters

- `target`: The target or provider of an IOKernelDebugger object.

## Return Value

Return Value Returns kIODebuggerLockTaken if the lock was taken, or 0 otherwise.

## Overview

Overview This method takes the debugger lock if the object given matches the target registered by registerHandler().

## See Also

### Miscellaneous

- [debugger](kernel/iokerneldebugger/1812543-debugger.md)
- [free](kernel/iokerneldebugger/1812554-free.md)
- [handleClose](kernel/iokerneldebugger/1812560-handleclose.md)
- [handleIsOpen](kernel/iokerneldebugger/1812565-handleisopen.md)
- [handleOpen](kernel/iokerneldebugger/1812573-handleopen.md)
- [init](kernel/iokerneldebugger/1812584-init.md)
- [kdpLinkStatusDispatcher](kernel/iokerneldebugger/1812595-kdplinkstatusdispatcher.md)
- [kdpReceiveDispatcher](kernel/iokerneldebugger/1812607-kdpreceivedispatcher.md)
- [kdpSetModeDispatcher](kernel/iokerneldebugger/1812616-kdpsetmodedispatcher.md)
- [kdpTransmitDispatcher](kernel/iokerneldebugger/1812631-kdptransmitdispatcher.md)
- [nullLinkStatusHandler](kernel/iokerneldebugger/1812653-nulllinkstatushandler.md)
- [nullRxHandler](kernel/iokerneldebugger/1812663-nullrxhandler.md)
- [nullSetModeHandler](kernel/iokerneldebugger/1812671-nullsetmodehandler.md)
- [nullTxHandler](kernel/iokerneldebugger/1812684-nulltxhandler.md)
- [powerStateDidChangeTo](kernel/iokerneldebugger/1812705-powerstatedidchangeto.md)
- [powerStateWillChangeTo](kernel/iokerneldebugger/1812727-powerstatewillchangeto.md)
- [registerHandler](kernel/iokerneldebugger/1812741-registerhandler.md)
- [signalDebugger](kernel/iokerneldebugger/1812763-signaldebugger.md)
- [unlock](kernel/iokerneldebugger/1812777-unlock.md)
