# worker/stop
Stop a worker or pool: stop accepting jobs, drain queued ones (their
futures/streams complete normally), join the worker thread(s), and free the
child runtime(s).
## Syntax
[worker/stop $w]
## Parameters
- `$w` — worker or pool handle from `defworker`
## Examples
set w [defworker "workers/image.dft"] [worker/send $w "process-image" $bytes 640 480] [worker/stop $w] # → true [worker/stop $w] # → true (already stopped)
## Returns
`true`; `%Err{:message}` when the argument is not a worker or pool handle.
Stale handles fail cleanly on later `worker/send`.
## See Also
`defworker`, `worker/send`, `worker/jobs`