Skip to content

Conversation

@vinniefalco
Copy link
Member

…or_type

  • Move thread_pool to ex/ namespace (ex/thread_pool.hpp, ex/thread_pool.cpp)
  • Derive thread_pool from execution_context for service management
  • Add nested executor_type class satisfying capy::executor concept
  • Add coro_handler to wrap any_coro for pool execution
  • Add work counting with atomic counter in impl
  • Add std::optional<task> member to async_run promise_type
  • Disable frame_allocator operator new/delete overloads (VFALCO turned off)
  • Expand thread_pool tests: executor concept, equality, services, concurrent post
  • Update documentation with executor operations and service examples

@cppalliance-bot
Copy link

cppalliance-bot commented Jan 14, 2026

An automated preview of the documentation is available at https://58.capy.prtest3.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-01-15 18:32:29 UTC

@vinniefalco vinniefalco changed the title refactor: thread_pool now inherits from execution_context with execut… ongoing work Jan 15, 2026
…or_type

- Move thread_pool to ex/ namespace (ex/thread_pool.hpp, ex/thread_pool.cpp)
- Derive thread_pool from execution_context for service management
- Add nested executor_type class satisfying capy::executor concept
- Add coro_handler to wrap any_coro for pool execution
- Add work counting with atomic counter in impl
- Add std::optional<task<T>> member to async_run promise_type
- Disable frame_allocator operator new/delete overloads (VFALCO turned off)
- Expand thread_pool tests: executor concept, equality, services, concurrent post
- Update documentation with executor operations and service examples
- Remove work_allocator arena-based memory pool (work_allocator.cpp/hpp)

- Replace manual linked list with execution_context::queue

- Switch to standard new/delete for handler allocation

- Inline empty on_work_started/on_work_finished in header

- Update example in documentation to use async_run
Move handler abstraction out of the public API. The thread_pool now uses a local work struct internally, and handler/queue tests are removed since the abstraction is no longer part of execution_context.
- Simplify class documentation with clearer problem statements

- Add thread safety notes for thread_pool and executor_type

- Convert verbose member docs to brief style where appropriate

- Add implementation comments explaining key design decisions
@cppalliance-bot
Copy link

GCOVR code coverage report https://58.capy.prtest3.cppalliance.org/gcovr/index.html
LCOV code coverage report https://58.capy.prtest3.cppalliance.org/genhtml/index.html
Coverage Diff https://58.capy.prtest3.cppalliance.org/gcovr/coverage_diff.txt

Build time: 2026-01-15 18:33:06 UTC

@sgerbino sgerbino mentioned this pull request Jan 15, 2026
@sgerbino sgerbino closed this in #66 Jan 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants