# os/off-signal Remove every handler registered for a signal and return how many were removed. When the last handler for a signal goes, the signal is unblocked and its default disposition is restored; when the last handler overall goes, the signalfd is torn down so `[vwait]` can exit. ## Syntax
[os/off-signal $signal]
## Parameters - `$signal` — signal name, same spellings as `os/on-signal` (`:sigterm`, `"TERM"`, `:term`, …) ## Examples
[os/off-signal :sigalrm]    # → 0 when nothing was registered
[os/on-signal :sigusr1 {|| nil}]
[os/off-signal :sigusr1]    # → 1
[os/off-signal :sigusr1]    # → 0
## Returns A number — the count of handlers removed (0 when none were registered). `%Err{:message}` for an unknown signal or when another runtime owns signal delivery. A signal pending when the default disposition is restored is delivered by default (a pending SIGTERM terminates). ## See Also `os/on-signal`, `os/signals`, `os/kill`