[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Task](https://evolu.dev/docs/api-reference/common/Task) › unabortableMask

```ts
function unabortableMask<T, E, D>(
  fn: (
    restore: <T2, E2>(task: Task<T2, E2, D>) => Task<T2, E2, D>,
  ) => Task<T, E, D>,
): Task<T, E, D>;
```

Defined in: [packages/common/src/Task.ts:1554](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Task.ts#L1554)

Like [unabortable](https://evolu.dev/docs/api-reference/common/Task/variables/unabortable), but provides `restore` to restore abortability for
specific tasks.

Tasks inherit abort masking from their parent. This means:

- Tasks run inside `unabortableMask` are unabortable by default
- Tasks wrapped with `restore()` restore the previous abortability