19 #ifndef CORE_POSIX_SIGNAL_H_ 20 #define CORE_POSIX_SIGNAL_H_ 24 #include <core/signal.h> 28 #include <initializer_list> 72 bool operator==(
const SignalTrap&)
const =
delete;
77 virtual bool has(
Signal signal) = 0;
83 virtual void run() = 0;
88 virtual void stop() = 0;
93 virtual core::Signal<Signal>& signal_raised() = 0;
104 std::initializer_list<core::posix::Signal> blocked_signals);
112 std::initializer_list<core::posix::Signal> blocked_signals);
#define CORE_POSIX_DLL_PUBLIC
CORE_POSIX_DLL_PUBLIC std::shared_ptr< SignalTrap > trap_signals_for_process(std::initializer_list< core::posix::Signal > blocked_signals)
Traps the specified signals for the entire process.
Signal
The Signal enum collects the most common POSIX signals.
The SignalTrap class encapsulates functionality to trap and handle signals.
CORE_POSIX_DLL_PUBLIC std::shared_ptr< SignalTrap > trap_signals_for_all_subsequent_threads(std::initializer_list< core::posix::Signal > blocked_signals)
Traps the specified signals for the current thread, and inherits the respective signal mask to all ch...