Skip to content

Conversation

@sgerbino
Copy link
Contributor

Windows build fixes:

  • Add BOOST_COROSIO_DECL to tcp_server nested classes (worker_base, workers, launcher) for proper DLL export
  • Delete copy operations on workers class to prevent MSVC from instantiating copy constructor for vector<unique_ptr<>>
  • Suppress C4251 warnings for private members with #pragma
  • Convert push_aw/pop_aw::await_suspend to templates matching IoAwaitable concept

POSIX signal_set implementation:

  • Add posix_signals service using C signal() handlers
  • Implement global signal state for cross-service coordination
  • Support signal registration, async wait, cancellation, and queuing

Timer service fixes:

  • Integrate timer_service with posix_scheduler epoll loop
  • Add calculate_timeout() to wake epoll for timer deadlines
  • Fix work tracking: use post() instead of dispatch() to prevent premature io_context::run() exit

Lambda coroutine lifetime fixes:

  • Fix stack-use-after-scope bugs in mocket source and tests
  • Fix 19 lambda coroutines in timer.cpp tests
  • Fix 15 lambda coroutines in signal_set.cpp tests
  • Change [&] captures to explicit parameter passing

Build system:

  • Add mocket, signal_set, timer tests to Jamfile

@cppalliance-bot
Copy link

cppalliance-bot commented Jan 19, 2026

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

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

2026-01-19 16:07:55 UTC

  Windows build fixes:
  - Add BOOST_COROSIO_DECL to tcp_server nested classes
  (worker_base, workers, launcher) for proper DLL export
  - Delete copy operations on workers class to prevent
  MSVC from instantiating copy constructor for
  vector<unique_ptr<>>
  - Suppress C4251 warnings for private members with
  #pragma
  - Convert push_aw/pop_aw::await_suspend to templates
  matching IoAwaitable concept

  POSIX signal_set implementation:
  - Add posix_signals service using C signal() handlers
  - Implement global signal state for cross-service
  coordination
  - Support signal registration, async wait,
  cancellation, and queuing

  Timer service fixes:
  - Integrate timer_service with posix_scheduler epoll
  loop
  - Add calculate_timeout() to wake epoll for timer
  deadlines
  - Fix work tracking: use post() instead of dispatch()
  to prevent premature io_context::run() exit

  Lambda coroutine lifetime fixes:
  - Fix stack-use-after-scope bugs in mocket source and
  tests
  - Fix 19 lambda coroutines in timer.cpp tests
  - Fix 15 lambda coroutines in signal_set.cpp tests
  - Change [&] captures to explicit parameter passing

  Build system:
  - Add mocket, signal_set, timer tests to Jamfile
@sgerbino sgerbino force-pushed the feature/epoll-timer-and-signals branch from c532dc6 to 36920b9 Compare January 19, 2026 16:01
@sgerbino sgerbino merged commit 15c5c82 into cppalliance:develop Jan 19, 2026
13 checks passed
@sgerbino sgerbino deleted the feature/epoll-timer-and-signals branch January 19, 2026 16:55
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