Go to file
Christopher Kohlhoff 165ea38ac8 Use properties to track outstanding work against an io_context.
When using standard executors, work is tracked by requiring (or
preferring) an executor with the execution::outstanding_work.tracked
property. This replaces executor_work_guard and make_work_guard() with
code of the form

    asio::io_context io_context;
    auto work = asio::require(io_context.get_executor(),
        asio::execution::outstanding_work.tracked);

To explicitly reset work, store the returned work-tracking executor in
an any_io_executor object:

    asio::any_io_executor work
      = asio::require(io_context.get_executor(),
          asio::execution::outstanding_work.tracked);

and then assign an empty executor into the object when done:

    work = asio::any_io_executor();
2020-06-23 11:07:35 +10:00
asio Use properties to track outstanding work against an io_context. 2020-06-23 11:07:35 +10:00
.appveyor.yml Add more MSVC versions to appveyor configuration. 2020-04-07 08:29:53 +10:00
.cirrus.yml Add Cirrus CI configuration to test FreeBSD. 2020-04-23 18:09:00 +10:00
.gitignore Ignore scratch source files and symlinked boost. 2014-04-28 12:51:01 +10:00
.travis.yml Don't treat gcc 6 builds as supporting c++14. 2020-06-22 19:10:48 +10:00