# server.channels.Server.signal_channel

- **Module:** server.channels.Server
- **Package:** libtmux
- **Language:** Rust
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-rs/blob/8a648c0894dfffc9303583f753b6c8ae01f2fe76/crates/libtmux/src/server/channels.rs#L26
- **Page:** https://libtmux.org/reference/rs/server-channels-server-signal_channel/

```
server.channels.Server.signal_channel(self, channel: &str) -> Result<(), Error>
```

Signal a `wait-for` channel, releasing anything waiting on it.

[`Server::wait_for_channel`] is the other half, and either order works:
tmux keeps a signal nobody is waiting on, so a command that finishes
before its watcher starts does not lose the race. The latch releases
one wait, and one signal releases every waiter already there.
Signalling the same channel twice before a wait clears the latch, so
this operation is not idempotent.

Signalling is not scoped to a pane or a session. The channel is a name
on the server, so anything that can reach the socket can signal it,
which is what makes it useful for telling an orchestrator that a
command inside a pane is done.

# Errors

Returns an error when tmux refuses the channel name.
