asio: Upgrade 1.36.0 -> 1.38.2

Upgrade to release 1.38.2:

- Added a `"scheduler"` / `"assume_continuation"` configuration
  parameter. When `true`, the scheduler assumes that all posted
  handlers are a continuation of the currently executing handler,
  allowing them to be added to a fast thread-local queue. This can
  improve performance for applications that exclusively use
  short-running handlers.
- Added a `"reactor"` / `"io_uring_ring_count"` configuration
  parameter.  This sets the number of independent io_uring
  instances ("rings") that a single execution context maintains
  internally. Increasing this parameter from its default of 1 may
  improve scalability when the execution context is used with
  multiple threads.
- Added a `"reactor"` / `"io_uring_ring_size"` configuration
  parameter, which is used to specify the number of entries in each
  io_uring instance.
- Added a `"reactor"` / `"io_uring_submit_batch_size"`
  configuration parameter.  This sets the number of pending
  io_uring submission queue entries at which they are submitted
  immediately, rather than deferred.
- Added a `"reactor"` / `"io_uring_iowait"` configuration
  parameter, which may be used to determine whether the thread is
  marked as being in iowait while io_uring operations are pending.
- Added the ability to configure `ssl::stream<>`'s internal buffer
  sizes.
- Added `asio/fwd.hpp`, as a way to safely forward declare some
  Asio class names, even when `ASIO_ENABLE_VERSION_NAMESPACE` or
  `ASIO_VERSION_NAMESPACE` are defined.
- Added an example for using `cancel_after` with coroutines.
- Changed all exception classes to use inline implementations, to
  fix an undefined symbol error on some platforms when using
  separate compilation.
- Changed constants and CPOs to use external linkage for C++17 and
  later.
- Changed "slim" mutexes to use futexes on Linux.
- Changed the reactor send/receive path to use `MSG_DONTWAIT`, if
  supported, rather than setting the socket to be non-blocking.
- Added a missing optimisation for `concurrency_hint == 1` in the
  `io_context` class's `poll_one()` function.
- Added support for `co_composed` under `ASIO_NO_EXCEPTIONS`.
- Fixed a `co_composed` crash on MSVC that occurs when using
  multiple completion signatures.
- Fixed a `co_composed` crash on MSVC by ensuring 16-byte block
  alignment in its internal coroutine representation.
- Fixed the return type on one `cancel_after` overload.
- Fixed integer truncation in `basic_streambuf::commit`/`consume`
  for sizes greater than or equal to `INT_MAX`.
- Fixed a buffer invalidation error triggered when SSL streams are
  moved, and clarified the buffer invalidation semantics in the
  documentation.
- Fixed a compilation error, seen with some compilers such as
  [^nvc++], that occurs when using `post`, `dispatch` or `defer`
  (or an asynchronous operation built on them) with a completion
  handler.
- Fixed `parallel_group` handling of non-terminal cancellation
  requests.
- Fixed thread sanitizer warnings due to atomic thread fences, and
  added thread sanitizer instrumentation to the io_uring backend.
- Fixed a signed/unsigned warning in `basic_resolver_results`.
- Fixed `experimental::channel` compilation with older versions of
  MSVC.
- Fixed the `multicast::enable_loopback` socket option size on
  NetBSD and OpenBSD.
- Suppressed case fall-through warnings in the SSL implementation.
- Fixed standard library coroutine detection when using
  [^clang-cl].
- Improved cross-referencing within the documentation.

License-Update: Update copyright years to 2003-2026

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Leon Anavi authored and Khem Raj committed 2026-11-07 23:28:22 -08:00
1 parent 546617def1
commit 3f0f8ef63d
2 files changed
+6 -9

No files matched your search

@@ -1,4 +1,4 @@
From 7d76513b82a67e117d195a1b5a0d6c2e8591488b Mon Sep 17 00:00:00 2001
From 125f69ba681677d50061dcb2554dcb2970d9165d Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Thu, 10 Oct 2024 13:58:38 +0800
Subject: [PATCH] tests: Remove blocking_adaptation.cpp
@@ -21,17 +21,14 @@ Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
1 file changed, 1 deletion(-)
diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
index 04f8a03..eab2d56 100644
index 32b67f2..e972c7f 100644
--- a/src/tests/Makefile.am
+++ b/src/tests/Makefile.am
@@ -68,7 +68,6 @@ check_PROGRAMS = \
@@ -74,7 +74,6 @@ check_PROGRAMS = \
unit/error \
unit/execution/any_executor \
unit/execution/blocking \
- unit/execution/blocking_adaptation \
unit/execution/context_as \
unit/execution/executor \
unit/execution/invocable_archetype \
--
2.34.1
unit/execution/inline_exception_handling \
@@ -17,9 +17,9 @@ inherit autotools ptest
ALLOW_EMPTY:${PN} = "1"
LIC_FILES_CHKSUM = "file://COPYING;md5=92db288d8a7d89bb9c5821c447c3052c"
LIC_FILES_CHKSUM = "file://COPYING;md5=068306999fcd4c4f2ba32622dae406ac"
SRC_URI[sha256sum] = "7bf4dbe3c1ccd9cc4c94e6e6be026dcc2110f9201d286bb9500dc85d69825524"
SRC_URI[sha256sum] = "c04e0e66ac29741faad763a56f3c50196421d4b968009fc237c53314769bf8ad"
# Releases live in per-version directories named "<pver> (Stable)" / "<pver> (Development)",
# so match only the stable ones.