2
0
mirror of https://github.com/boostorg/asio.git synced 2026-01-31 07:42:10 +00:00
Commit Graph

1796 Commits

Author SHA1 Message Date
Christopher Kohlhoff
0084aacf8e Don't use deprecated annotation when building for C++11 mode.
This eliminates a warning from some compilers that the deprecated
annotation is a C++14 extension. An alternative implementation of
the annotation is now always used when using MSVC.
2025-12-01 22:46:50 +11:00
Christopher Kohlhoff
b6dcb1a5be Version bump. 2025-11-05 23:25:49 +11:00
Christopher Kohlhoff
01957d1d8f Add config option to determine whether eventfd is used.
Add a new configuration option "reactor" / "use_eventfd" that is used by
the epoll_reactor. When true (the default), the reactor uses an eventfd
as its select_interrupter implementation. When false, a pipe is used
instead.
2025-11-05 20:15:29 +11:00
Christopher Kohlhoff
8f570d4664 Add config option to determine whether timerfd is used.
Add a new configuration option "reactor" / "use_timerfd" that is used by
the epoll_reactor. When true (the default), the reactor uses a timerfd
descriptor to manage timeouts. When false, the duration until the next
timeout is computed and passed as a timeout to epoll_wait.
2025-11-05 20:15:02 +11:00
Christopher Kohlhoff
99b121ded1 Fix documentation typos. 2025-11-04 23:48:54 +11:00
Christopher Kohlhoff
b24b92813a Add config option for whether a partial read consumes an edge trigger.
Add a new configuration option "reactor" / "reset_edge_on_partial_read"
that is used by the epoll_reactor. When true, it indicates that a partial
read should be considered to have consumed the edge. The default value of
false corresponds to the existing behaviour, where the edge is only
treated as consumed when the read fails with EAGAIN.
2025-11-04 23:47:45 +11:00
Christopher Kohlhoff
b3d174dab5 Fix handler tracking args passed in io_uring backend. 2025-11-04 23:47:26 +11:00
Christopher Kohlhoff
0be0631ef2 Fix unused parameter warning. 2025-11-04 23:47:17 +11:00
Christopher Kohlhoff
7f51169e51 Annotate deprecated items with [[deprecated]]. 2025-11-04 23:47:08 +11:00
Christopher Kohlhoff
acff0e9b25 Add missing preprocessor check for ASIO_DISABLE_TIMERFD. 2025-11-04 23:46:54 +11:00
Christopher Kohlhoff
85a9eb155e Add default completion token to 1-arg overloads of dispatch, post and defer. 2025-11-04 23:44:14 +11:00
Christopher Kohlhoff
d5d9428a3c Implement feature check for std::source_location. 2025-11-04 23:44:02 +11:00
Christopher Kohlhoff
3eb04c5a46 Add missing include. 2025-11-04 23:43:53 +11:00
Christopher Kohlhoff
88cd8134ae Fix thread sanitizer issue in kqueue_reactor. 2025-11-04 23:43:35 +11:00
Christopher Kohlhoff
046df03e72 Fix resource leak in asio::awaitable move assignment.
awaitable::operator= did not destroy the existing frame.
2025-11-04 23:43:21 +11:00
Christopher Kohlhoff
87f5778434 Fix memory leak in ssl::detail::engine move assignment. 2025-11-04 23:43:08 +11:00
Christopher Kohlhoff
f49a0add53 Add redirect_disposition completion token adapter. 2025-11-04 23:42:51 +11:00
Christopher Kohlhoff
10f61afbd8 Don't use deprecated function boost::array::c_array(). 2025-10-30 20:41:47 +11:00
Christopher Kohlhoff
c802a01950 Fix doc typos. 2025-10-30 20:41:37 +11:00
Christopher Kohlhoff
6f4232ffcb Remove tabs. 2025-10-30 20:41:19 +11:00
Christopher Kohlhoff
893e569bbd Change inline_or_executor to use blocking.always by default. 2025-10-30 20:41:07 +11:00
Christopher Kohlhoff
5fa261e86d Add inline_or_executor<> and inline_or(). 2025-10-30 08:28:04 +11:00
Christopher Kohlhoff
ca8e124b87 Make inline_executor the default candidate for associated_executor. 2025-10-29 22:59:03 +11:00
Christopher Kohlhoff
84c45dbe48 Add inline_executor. 2025-10-29 22:58:47 +11:00
Christopher Kohlhoff
82c9b858c8 Add execution::inline_exception_handling property. 2025-10-29 22:57:58 +11:00
Christopher Kohlhoff
77d09d001d Add dispatch, post and defer overloads that run a function before completion. 2025-10-29 22:56:44 +11:00
Christopher Kohlhoff
44722ea024 Version bump. 2025-08-06 22:32:43 +10:00
Christopher Kohlhoff
a96885268f Add documentation note on basic_signal_set's async signal safety. 2025-08-06 22:16:18 +10:00
Christopher Kohlhoff
7f60f27824 Work around warning that occurs when building with _FORTIFY_SOURCE. 2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
62e5597bc3 Some platforms don't define SA_NOCLDWAIT. 2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
476c57246d Fix coroutine compile error with MSVC-like compile by clang. 2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
82c4515cd4 Fix compilation issue with Bullseye compiler. 2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
cd2b1b37ff Fix compilation errors in channel<void(error_code)>. 2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
a1e7ad07c9 Add missing noreturn attribute to throw_exception. 2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
7e51960177 Make co_spawn adhere to async op requirement for non-reentrant completion.
Previously, co_spawn-ing the following coroutine:

  awaitable<void> foo()
  {
    co_await dispatch(use_awaitable);
  }

would result in a call to the completion handler from within co_spawn.
2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
419a06e978 Restore "own thread" support in scheduler.
This is still required when the scheduler is used as a lazily
initialised service.
2025-08-05 08:09:27 +10:00
Christopher Kohlhoff
6a448ba050 Version bump. 2025-07-09 21:30:39 +10:00
Christopher Kohlhoff
4824c0b3ce Fix shadow variable warnings. 2025-07-09 09:13:26 +10:00
Christopher Kohlhoff
751cec5701 Make BOOST_ASIO_CONCURRENCY_HINT_SAFE consistent with io_context default constructor.
Also fixed docs for BOOST_ASIO_CONCURRENCY_HINT_UNSAFE_IO to reflect
that registration locking is still enabled.
2025-07-09 09:12:53 +10:00
Christopher Kohlhoff
a55928d4d5 Fix conflicting pipe name in independent plug-in DLLs.
Added a numerical representation of a local static variable's address to
the pipe name, to discriminate asio instances in independent DLLs.
2025-07-08 09:06:09 +10:00
Christopher Kohlhoff
cb99678035 Remove deadline_timer and time_traits from the convenience header. 2025-07-07 20:44:27 +10:00
Christopher Kohlhoff
967f6824ef Fix boostification damage. 2025-07-03 08:50:49 +10:00
Christopher Kohlhoff
9e11596f81 Allow async_resolve to use a configurable number of internal threads.
The number of threads used to emulate asynchronous address resolution is
now adjustable via the "resolver" / "threads" configuration option. If
this is set to a non-zero value, that number of threads will be created
when the first resolver object is constructed. Otherwise, it defaults to
a single thread that is created on the first call to async_resolve.
2025-07-02 20:43:27 +10:00
Christopher Kohlhoff
cd0a9eb990 Remove unused scheduler data members. 2025-07-02 20:43:27 +10:00
Christopher Kohlhoff
a50d0e7246 Use execution_context allocator in timer queues.
Added new configuration parameter "timer" / "heap_reserve" that may be
used to reserve space in the vector used for a timer queue's heap.
2025-07-02 20:43:27 +10:00
Christopher Kohlhoff
d26f76aced Use execution_context allocator for object pooling in reactors. 2025-07-02 20:43:27 +10:00
Christopher Kohlhoff
b73da48d50 Use execution_context allocator in strand implementation. 2025-07-02 20:43:27 +10:00
Christopher Kohlhoff
6b4bcb9dd3 Add allocator support to execution contexts. 2025-07-02 20:43:27 +10:00
Christopher Kohlhoff
62864c570a Version bump. 2025-04-02 23:31:19 +11:00
Christopher Kohlhoff
960482db0f Fix broken links in documentation. 2025-04-02 23:30:56 +11:00