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:
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 asio::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 asio::io_context::post()
.