5 #ifndef SRC_IO_PROCESS_SIGNAL_H_
6 #define SRC_IO_PROCESS_SIGNAL_H_
12 #include <boost/function.hpp>
13 #include <boost/asio.hpp>
14 #include <boost/system/error_code.hpp>
17 class ProcessSignalTest;
23 typedef boost::function<
24 void(
const boost::system::error_code& error,
int sig,
26 typedef boost::function<
31 const std::vector<SignalChildHandler> &sigchld_callbacks,
32 bool always_handle_sigchild);
42 boost::system::error_code
AddSignal(
int sig);
45 void HandleSig(
const boost::system::error_code& error,
int sig);
47 void NotifySig(
const boost::system::error_code &error,
int sig);
48 void NotifySigChld(
const boost::system::error_code &error,
int sig,
int pid,
56 friend class ::ProcessSignalTest;
61 #endif // SRC_IO_PROCESS_SIGNAL_H_
void HandleSig(const boost::system::error_code &error, int sig)
void RegisterHandler(int sig, SignalHandler handler)
boost::system::error_code AddSignal(int sig)
std::vector< SignalChildHandler > sigchld_callbacks_
void NotifySig(const boost::system::error_code &error, int sig)
bool always_handle_sigchild_
void RegisterSigHandler()
std::map< int, std::vector< SignalHandler > > SignalCallbackMap
boost::function< void(const boost::system::error_code &error, int sig)> SignalHandler
virtual int WaitPid(int pid, int *status, int options)
SignalCallbackMap sig_callback_map_
boost::asio::signal_set signal_
void NotifySigChld(const boost::system::error_code &error, int sig, int pid, int status)
boost::system::error_code InitializeSigChild()
boost::function< void(const boost::system::error_code &error, int sig, pid_t pid, int status)> SignalChildHandler
bool HandleSigOsSpecific(const boost::system::error_code &error, int sig)
Signal(EventManager *evm, const SignalCallbackMap &sig_callback_map, const std::vector< SignalChildHandler > &sigchld_callbacks, bool always_handle_sigchild)