2
0
mirror of https://github.com/boostorg/asio.git synced 2026-01-19 04:02:09 +00:00

2376 Commits

Author SHA1 Message Date
Christopher Kohlhoff
5963b46909 Version bump. 2025-12-04 00:07:07 +11:00
Christopher Kohlhoff
8b7c626c1a Revision history. 2025-12-04 00:06:23 +11:00
Christopher Kohlhoff
5b454c619c Various documentation fixes and improvements. 2025-12-03 23:52:14 +11:00
Christopher Kohlhoff
f9157802a7 Ensure coroutine case labels are deterministic when __COUNTER__ is used.
Coroutine implementations can be included from multiple translation
units in a different order. When __COUNTER__ is used (for MSVC), this
means that the values yielded by __COUNTER__ for a particular coroutine
can differ between TUs.
2025-12-01 22:55:40 +11:00
Christopher Kohlhoff
fc1b01e27c Ensure sync SSL shutdown remaps error::eof as async_shutdown does. 2025-12-01 22:55:40 +11:00
Christopher Kohlhoff
804c42ca39 Defend against 'max' as a macro. 2025-12-01 22:55:40 +11:00
Christopher Kohlhoff
bbbacb11dd Assume UTF-8 encoding for paths in file support on Windows.
When opening asio::stream_file or asio::random_access_file on Windows,
the path is now converted to a wide character string, and the file is
opened using CreateFileW.
2025-12-01 22:55:40 +11:00
Christopher Kohlhoff
c54e09ae5e Add checks for empty parallel groups.
The parallel_group and make_parallel_group implementations satisfy the
asynchronous operation requirements by delegating to the supplied
operations. It is not possible for them to do this when the supplied set
is empty.
2025-12-01 22:55:40 +11:00
Christopher Kohlhoff
b2478a9ba9 Remove _FORTIFY_SOURCE workaround. Check size when processing addrinfo.
The previous workaround for _FORTIFY_SOURCE warnings increased the size
of all IP endpoint objects. Instead, try fixing the warning at the point
where it occurs, by limiting the length memcpy-ed while processing the
addrinfo results from getaddrinfo.
2025-12-01 22:47:38 +11:00
Christopher Kohlhoff
8b80ad7f24 Update detection of std::aligned_alloc when using libc++.
Newer libc++ versions no longer define _LIBCPP_HAS_ALIGNED_ALLOC,
so instead perform explicit platform detection.
2025-12-01 22:47:06 +11:00
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
00988b643e Revision history. 2025-11-05 23:25:24 +11:00
Christopher Kohlhoff
f23e04f1ef Regenerate documentation. 2025-11-05 21:42:58 +11:00
Christopher Kohlhoff
f78650cb3e Fix broken doc link. 2025-11-05 20:43:46 +11:00
Christopher Kohlhoff
b87a07f2cc Update doc generation config. 2025-11-05 20:43:18 +11:00
Christopher Kohlhoff
079fb7595f Fix typos in overview documentation. 2025-11-05 20:42:18 +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
edbde3cdce Disable deprecated messages when building tests. 2025-11-04 23:48:36 +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
60cae1d006 Revision history. 2025-08-06 22:29:48 +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