---
title: stop
framework: kernel
role: pseudoSymbol
path: kernel/iobasicoutputqueue/1811734-stop
---

# stop

Stops the packet flow between the queue and its target.

## Declaration

```occ
virtual bool stop(); 
```

## Return Value

Return Value Returns the previous running state of the queue, true if the queue was running, false if the queue was already stopped.

## Overview

Overview This method stops the queue and prevents it from sending packets to its target. This call is synchronous and it may block. After this method returns, the queue will no longer call the registered target/action, even as new packets are added to the queue. The queue will continue to absorb new packets until the size of the queue reaches its capacity. The registered action must never call stop(), or a deadlock will occur.

## See Also

### Miscellaneous

- [enqueue](kernel/iobasicoutputqueue/1811623-enqueue.md)
- [flush](kernel/iobasicoutputqueue/1811630-flush.md)
- [free](kernel/iobasicoutputqueue/1811636-free.md)
- [getCapacity](kernel/iobasicoutputqueue/1811642-getcapacity.md)
- [getDropCount](kernel/iobasicoutputqueue/1811646-getdropcount.md)
- [getOutputCount](kernel/iobasicoutputqueue/1811651-getoutputcount.md)
- [getRetryCount](kernel/iobasicoutputqueue/1811660-getretrycount.md)
- [getSize](kernel/iobasicoutputqueue/1811664-getsize.md)
- [getStallCount](kernel/iobasicoutputqueue/1811671-getstallcount.md)
- [getState](kernel/iobasicoutputqueue/1811677-getstate.md)
- [getStatisticsData](kernel/iobasicoutputqueue/1811683-getstatisticsdata.md)
- [handleNetworkDataAccess](kernel/iobasicoutputqueue/1811690-handlenetworkdataaccess.md)
- [init](kernel/iobasicoutputqueue/1811696-init.md)
- [output](kernel/iobasicoutputqueue/1811702-output.md)
- [service](kernel/iobasicoutputqueue/1811708-service.md)
- [serviceThread](kernel/iobasicoutputqueue/1811713-servicethread.md)
- [setCapacity](kernel/iobasicoutputqueue/1811721-setcapacity.md)
- [start](kernel/iobasicoutputqueue/1811726-start.md)
- [withTarget(IONetworkController *, UInt32)](kernel/iobasicoutputqueue/1811748-withtarget.md)
- [withTarget(IONetworkController *, UInt32, UInt32)](kernel/iobasicoutputqueue/1811755-withtarget.md)
- [withTarget(OSObject *, IOOutputAction, UInt32)](kernel/iobasicoutputqueue/1811763-withtarget.md)
- [withTarget(OSObject *, IOOutputAction, UInt32, UInt32)](kernel/iobasicoutputqueue/1811770-withtarget.md)
