Обработчик сигналов должен соответствовать требованиям для обработчика. Значение<h>класса обработчика сигнала должно корректно работать в выражении<h(ec,
n)>, где<ec>является значением типа<consterror_code>и<n>является значением типа.<constint>.
Свободная функция в качестве обработчика сигналов:
void signal_handler(
const boost::system::error_code& ec,
int signal_number)
{
...
}
Объект функции обработчика сигналов:
struct signal_handler
{
...
void operator()(
const boost::system::error_code& ec,
int signal_number)
{
...
}
...
};
Функция нестатического члена класса, адаптированная к обработчику сигналов с использованием<bind()>:
void my_class::signal_handler(
const boost::system::error_code& ec,
int signal_number)
{
...
}
...
my_signal_set.async_wait(
boost::bind(&my_class::signal_handler,
this, boost::asio::placeholders::error,
boost::asio::placeholders::signal_number));