![]() |
Home | Libraries | People | FAQ | More |
~io_context();
On destruction, the io_context
performs the following sequence of operations:
svc in the io_context
set, in reverse order of the beginning of service object lifetime,
performs svc->shutdown().
io_context,
or any associated strand, are destroyed.
svc in the io_context
set, in reverse order of the beginning of service object lifetime,
performs delete static_cast<io_context::service*>(svc).
The destruction sequence described above permits programs to simplify their
resource management by using shared_ptr<>. Where an
object's lifetime is tied to the lifetime of a connection (or some other
sequence of asynchronous operations), a shared_ptr to the
object would be bound into the handlers for all asynchronous operations
associated with it. This works as follows:
shared_ptr references to the objects are destroyed.
io_context
function stop() is called to terminate any run()
calls as soon as possible. The io_context
destructor defined above destroys all handlers, causing all shared_ptr
references to all connection objects to be destroyed.