SignalPipe class
#include <nxtio/signal-pipe.hpp>
Portable async-signal-safe signal delivery via pipe. Write end is written to from signal handlers (async-signal-safe). Read end can be polled by any event loop.
Public static functions
- static void notify(int signum)
Constructors, destructors, conversion operators
- SignalPipe()
- SignalPipe(const SignalPipe&) deleted
- SignalPipe(SignalPipe&& other) noexcept
- ~SignalPipe()
Public functions
- auto operator=(const SignalPipe&) → SignalPipe& deleted
- auto operator=(SignalPipe&& other) → SignalPipe& noexcept
- auto read_fd() const → int noexcept
- File descriptor to poll for readability.
-
auto try_read() → std::
optional<int> -
template <typename... Signals>void watch(Signals... signals)
- Install this pipe as the handler for the given signals.
Function documentation
static void nxt:: ui:: SignalPipe:: notify(int signum)
Called from signal handler context — async-signal-safe. Writes signal number as a single byte.
std:: optional<int> nxt:: ui:: SignalPipe:: try_read()
Read pending signals (non-blocking). Returns nullopt if no signal ready.