...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Start an asynchronous operation to wait for a signal to be delivered.
template< typename SignalHandler> DEDUCED async_wait( SignalHandler && handler);
This function may be used to initiate an asynchronous wait against the signal set. It always returns immediately.
For each call to async_wait()
, the supplied handler will be
called exactly once. The handler will be called when:
boost::asio::error::operation_aborted
.
The handler to be called when the signal occurs. Copies will be made of the handler as required. The function signature of the handler must be:
void handler( const boost::system::error_code& error, // Result of operation. int signal_number // Indicates which signal occurred. );
Regardless of whether the asynchronous operation completes immediately
or not, the handler will not be invoked from within this function.
Invocation of the handler will be performed in a manner equivalent
to using boost::asio::io_context::post()
.