# LibTmux.CancellationToken

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Julia
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/process.jl#L98
- **Page:** https://libtmux.org/en/julia/latest/reference/libtmux-cancellationtoken/

```
LibTmux.CancellationToken(
    lock::ReentrantLock,
    cancelled::Bool,
    next_id::UInt64,
    hooks::Dict{UInt64, Function}
)

LibTmux.CancellationToken(lock, cancelled, next_id, hooks)

LibTmux.CancellationToken()
```

An explicit, task-safe cancellation signal. `cancel!` is idempotent. Cancelling an operation retires its local resources; it does not roll back tmux effects.

```julia
CancellationToken()
```

## Methods

### `CancellationToken` (overload 1)

```julia
LibTmux.CancellationToken(
    lock::ReentrantLock,
    cancelled::Bool,
    next_id::UInt64,
    hooks::Dict{UInt64, Function}
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/process.jl#L105).

### `LibTmux.CancellationToken(lock, cancelled, next_id, hooks)`

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/process.jl#L105).

### `LibTmux.CancellationToken()`

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/process.jl#L110).

## Parameters

- `lock` (`Base.ReentrantLock`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 1]`)
- `cancelled` (`Bool`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 1]`)
- `next_id` (`UInt64`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 1]`)
- `hooks` (`Base.Dict{UInt64, Function}`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 1]`)
- `lock` (`Any`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 2]`)
- `cancelled` (`Any`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 2]`)
- `next_id` (`Any`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 2]`)
- `hooks` (`Any`) (for `CancellationToken(lock, cancelled, next_id, hooks) [overload 2]`)

## Members

### Other members

- `cancelled` (property)
- `hooks` (property)
- `lock` (property)
- `next_id` (property)
