---
url: >-
  https://adk.nht.io/api/@nhtio/adk/lib/utils/retry/functions/linkAbortSignals.md
---

# Function: linkAbortSignals()

```ts
function linkAbortSignals(signals: readonly AbortSignal[]): {
  dispose: () => void;
  signal: AbortSignal;
};
```

Defined in: [lib/utils/retry.ts:95](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/utils/retry.ts#L95)

Combines several abort signals into one.

## Parameters

| Parameter | Type                     | Description             |
| --------- | ------------------------ | ----------------------- |
| `signals` | readonly `AbortSignal`\[] | The signals to combine. |

## Returns

```ts
{
  dispose: () => void;
  signal: AbortSignal;
}
```

The linked signal and a `dispose` to tear down fallback listeners.

| Name        | Type          | Defined in                                                                                          |
| ----------- | ------------- | --------------------------------------------------------------------------------------------------- |
| `dispose()` | () => `void`  | [lib/utils/retry.ts:97](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/utils/retry.ts#L97) |
| `signal`    | `AbortSignal` | [lib/utils/retry.ts:97](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/utils/retry.ts#L97) |

## Remarks

Returns the linked signal plus a `dispose` that detaches any listeners the fallback path
attached, so repeated links on a long-lived signal (one per retry attempt) do not accumulate
listeners. The native `AbortSignal.any` path self-manages its listeners, so `dispose` is a no-op
there.
