36 #ifndef SIGNAL_MONITOR_H    37 #define SIGNAL_MONITOR_H    42 #include "final/eventloop/monitor.h"    43 #include "final/eventloop/pipedata.h"    44 #include "final/util/fstring.h"    77     auto getClassName() 
const -> 
FString override;
    81     void init (
int, handler_t, T&&);
    82     void trigger (
short) 
override;
    89     static void onSignal (
int);
    91     void handledAlarmSignal() 
const;
    92     void ensureSignalIsUnmonitored() 
const;
    94     void installSignalHandler();
    95     void enterMonitorInstanceInTable();
   100     int signal_number{-1};
   101     PipeData signal_pipe{NO_FILE_DESCRIPTOR, NO_FILE_DESCRIPTOR};
   102     std::unique_ptr<SigactionImpl> impl;
   107 inline auto SignalMonitor::getClassName() 
const -> 
FString   108 { 
return "SignalMonitor"; }
   111 template <
typename T>
   112 inline void SignalMonitor::init (
int sn, handler_t hdl, T&& uc)
   114   if ( isInitialized() )
   115     throw monitor_error{
"This instance has already been initialised."};
   118   setHandler (std::move(hdl));
   119   setUserContext (std::forward<T>(uc));
   125 #endif  // SIGNAL_MONITOR_H Definition: signal_monitor.h:53
 
Definition: eventloop.h:48
 
Definition: class_template.cpp:25
 
Definition: signal_monitor.cpp:66
 
Definition: pipedata.h:47