diff mbox series

[meta-oe,01/22] asio: Upgrade 1.36.0 -> 1.38.2

Message ID 20261107165221.122340-1-leon.anavi@konsulko.com
State New
Headers show
Series [meta-oe,01/22] asio: Upgrade 1.36.0 -> 1.38.2 | expand

Commit Message

Leon Anavi Nov. 7, 2026, 4:52 p.m. UTC
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>
---
 .../0001-tests-Remove-blocking_adaptation.cpp.patch   | 11 ++++-------
 .../asio/{asio_1.36.0.bb => asio_1.38.2.bb}           |  4 ++--
 2 files changed, 6 insertions(+), 9 deletions(-)
 rename meta-oe/recipes-support/asio/{asio_1.36.0.bb => asio_1.38.2.bb} (89%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/asio/asio/0001-tests-Remove-blocking_adaptation.cpp.patch b/meta-oe/recipes-support/asio/asio/0001-tests-Remove-blocking_adaptation.cpp.patch
index 5aa502916d..b1e91d9981 100644
--- a/meta-oe/recipes-support/asio/asio/0001-tests-Remove-blocking_adaptation.cpp.patch
+++ b/meta-oe/recipes-support/asio/asio/0001-tests-Remove-blocking_adaptation.cpp.patch
@@ -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 \
diff --git a/meta-oe/recipes-support/asio/asio_1.36.0.bb b/meta-oe/recipes-support/asio/asio_1.38.2.bb
similarity index 89%
rename from meta-oe/recipes-support/asio/asio_1.36.0.bb
rename to meta-oe/recipes-support/asio/asio_1.38.2.bb
index bd23e5b112..ef2341a67a 100644
--- a/meta-oe/recipes-support/asio/asio_1.36.0.bb
+++ b/meta-oe/recipes-support/asio/asio_1.38.2.bb
@@ -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.