|  | 
Provides signal functionality.
template< typename SignalSetService = signal_set_service> class basic_signal_set : public basic_io_object< SignalSetService >
| Name | Description | 
|---|---|
| The underlying implementation type of I/O object. | |
| The type of the service that will be used to provide I/O operations. | 
| Name | Description | 
|---|---|
| Add a signal to a signal_set. | |
| Start an asynchronous operation to wait for a signal to be delivered. | |
| Construct a signal set without adding any signals. Construct a signal set and add one signal. Construct a signal set and add two signals. Construct a signal set and add three signals. | |
| Cancel all operations associated with the signal set. | |
| Remove all signals from a signal_set. | |
| Get the io_service associated with the object. | |
| Remove a signal from a signal_set. | 
| Name | Description | 
|---|---|
| Get the underlying implementation of the I/O object. | |
| Get the service associated with the I/O object. | 
| Name | Description | 
|---|---|
| (Deprecated: Use get_implementation().) The underlying implementation of the I/O object. | |
| (Deprecated: Use get_service().) The service associated with the I/O object. | 
        The basic_signal_set
        class template provides the ability to perform an asynchronous wait for one
        or more signals to occur.
      
        Most applications will use the signal_set typedef.
      
Distinct objects: Safe.
Shared objects: Unsafe.
Performing an asynchronous wait:
void handler( const asio::error_code& error, int signal_number) { if (!error) { // A signal occurred. } } ... // Construct a signal set registered for process termination. asio::signal_set signals(io_service, SIGINT, SIGTERM); // Start an asynchronous wait for one of the signals to occur. signals.async_wait(handler);
If a signal is registered with a signal_set, and the signal occurs when there are no waiting handlers, then the signal notification is queued. The next async_wait operation on that signal_set will dequeue the notification. If multiple notifications are queued, subsequent async_wait operations dequeue them one at a time. Signal notifications are dequeued in order of ascending signal number.
        If a signal number is removed from a signal_set (using the remove or erase
        member functions) then any queued notifications for that signal are discarded.
      
The same signal number may be registered with different signal_set objects. When the signal occurs, one handler is called for each signal_set object.
        Note that multiple registration only works for signals that are registered
        using Asio. The application must not also register a signal handler using
        functions such as signal() or sigaction().
      
        POSIX allows signals to be blocked using functions such as sigprocmask()
        and pthread_sigmask().
        For signals to be delivered, programs must ensure that any signals registered
        using signal_set objects are unblocked in at least one thread.
      
        Header: asio/basic_signal_set.hpp
      
        Convenience header: asio.hpp