From 3f0f8ef63d3c4d36bb63c0f2233e3787d4282662 Mon Sep 17 00:00:00 2001 From: Leon Anavi Date: Sat, 7 Nov 2026 18:52:00 +0200 Subject: [PATCH] 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 Signed-off-by: Khem Raj --- .../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 --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 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 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 " (Stable)" / " (Development)", # so match only the stable ones.