From 842e9f454e35545739dff471f58349ad933e5165 Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Thu, 12 Nov 2026 19:37:45 +0900 Subject: [PATCH 1/2] 0.27.1: the implementations retire a handle before closing it; openkal-musl 0.29.3 --- README.md | 11 +++++++++++ mcpp.toml | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 77d6100..b85a841 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,17 @@ FreeBSD's; before, which identity a system's runner is was a table of the engine. The version group is that of 0.26.0. An mcpp earlier than 2026.11.12.1 names the key it does not read and ignores it. +Platform 0.27.1 is a patch of the group. The implementations retire a handle +before closing it: openkal-linux 0.26.1, openkal-macos 0.23.1 and +openkal-windows 0.22.1. A connection, a listener and a datagram socket were +closed first, so a file another thread opened at that moment was left with a +stale handle, and above openkal-musl its reads and writes reached descriptor 0 +(openkal-linux#53). openkal-windows 0.22 also gives a node one identity however +it was reached. openkal-musl 0.29.3 delivers the byte a `poll` held together +with what else has arrived from `recv`, `recvfrom` and `recvmsg`, as `read` +does; before, a program that polls before each `recv` took a stream one byte +per call (openkal-musl#52). The platform's statements are those of 0.27.0. + A project overrides any group under `[target.]`, for example `[target.'cfg(platform = "openkal")'.layers] "c++-abi" = false`, and selects another platform, or none, with `platform = "..."` or `--platform`. diff --git a/mcpp.toml b/mcpp.toml index 2abfd0a..aea922f 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -12,7 +12,7 @@ [package] namespace = "mcpplibs" name = "openkal-platform" -version = "0.27.0" +version = "0.27.1" description = "The platform of ok images (-openkal): their toolchain, C library and C++ run-time, tools, compile and link conventions, seal, runner and carrier, as one versioned statement mcpp reads." license = "Apache-2.0" authors = ["mcpplibs"] @@ -53,7 +53,7 @@ debuggee = ["okrun", "--debugger", "{}"] [platform.layers] compiler-runtime = "openkal-llvm-runtime@0.20.1" "c++-abi" = "openkal-llvm-runtime@0.20.1" -c-abi = { name = "openkal-musl", version = "0.29.2", default-features = false, features = ["posix", "malloc-mimalloc"] } +c-abi = { name = "openkal-musl", version = "0.29.3", default-features = false, features = ["posix", "malloc-mimalloc"] } # Built for the building machine: `okld` writes and checks the notes, `okrun` # runs an image, `okprof` reads what a measured run recorded (0.23.0: the @@ -179,7 +179,7 @@ toolchain = "llvm@23.1.3" [platform.hosted.layers] compiler-runtime = "openkal-llvm-runtime@0.20.1" "c++-abi" = "openkal-llvm-runtime@0.20.1" -c-abi = { name = "openkal-musl", version = "0.29.2", default-features = false, features = ["posix", "malloc-mimalloc"] } +c-abi = { name = "openkal-musl", version = "0.29.3", default-features = false, features = ["posix", "malloc-mimalloc"] } # The family released together for openkal 0.17 (the 0.17.2 round: okb, the # runner's bundle and library interfaces, musl's renameat2; the 0.17.3 round: @@ -222,18 +222,21 @@ c-abi = { name = "openkal-musl", version = "0.29.2", default-features # over kal_fs_hard_link), openkal-llvm-runtime 0.20.0 and openkal-image 0.5.5; # 0.26.0, openkal-image 0.6.1 (the runner binds the interfaces its # implementation provides), openkal-freebsd 0.1.0 beneath openkal-musl 0.29.2 and -# openkal-llvm-runtime 0.20.1 on FreeBSD): one version of each in a build. From 0.24.1 the members name one another by +# openkal-llvm-runtime 0.20.1 on FreeBSD; 0.27.1, the implementations retire a +# handle before closing it (openkal-linux 0.26.1, openkal-macos 0.23.1, +# openkal-windows 0.22.1) and openkal-musl 0.29.3 delivers what a readiness +# enquiry held with the rest): one version of each in a build. From 0.24.1 the members name one another by # compatible ranges (`^0.28.0`) and this group chooses the versions: mcpp # 2026.11.7.1 resolves within it, and a fix of one member is that member's # release and a patch of this group, released together through one index change # (tools/family_release.py, .github/workflows/family-release.yml). [platform.versions] openkal = "0.25.0" -openkal-linux = "0.26.0" -openkal-macos = "0.23.0" -openkal-windows = "0.21.0" +openkal-linux = "0.26.1" +openkal-macos = "0.23.1" +openkal-windows = "0.22.1" openkal-freebsd = "0.1.0" -openkal-musl = "0.29.2" +openkal-musl = "0.29.3" openkal-llvm-runtime = "0.20.1" openkal-ld = "0.6.1" openkal-run = "0.6.1" From ccc466bb966198e8eb6f3587395e3b65bcbb1a6f Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Thu, 12 Nov 2026 20:42:57 +0900 Subject: [PATCH 2/2] the group stays on openkal-windows 0.21: 0.21.1, openkal-musl 0.29.4 --- README.md | 8 ++++---- mcpp.toml | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index b85a841..eb678b2 100644 --- a/README.md +++ b/README.md @@ -109,14 +109,14 @@ names the key it does not read and ignores it. Platform 0.27.1 is a patch of the group. The implementations retire a handle before closing it: openkal-linux 0.26.1, openkal-macos 0.23.1 and -openkal-windows 0.22.1. A connection, a listener and a datagram socket were +openkal-windows 0.21.1. A connection, a listener and a datagram socket were closed first, so a file another thread opened at that moment was left with a stale handle, and above openkal-musl its reads and writes reached descriptor 0 -(openkal-linux#53). openkal-windows 0.22 also gives a node one identity however -it was reached. openkal-musl 0.29.3 delivers the byte a `poll` held together +(openkal-linux#53). openkal-musl 0.29.4 delivers the byte a `poll` held together with what else has arrived from `recv`, `recvfrom` and `recvmsg`, as `read` does; before, a program that polls before each `recv` took a stream one byte -per call (openkal-musl#52). The platform's statements are those of 0.27.0. +per call (openkal-musl#52). The group stays on openkal-windows 0.21, the line +openkal-run and mcpplibs.os name. The platform's statements are those of 0.27.0. A project overrides any group under `[target.]`, for example `[target.'cfg(platform = "openkal")'.layers] "c++-abi" = false`, and selects diff --git a/mcpp.toml b/mcpp.toml index aea922f..8cbca29 100644 --- a/mcpp.toml +++ b/mcpp.toml @@ -53,7 +53,7 @@ debuggee = ["okrun", "--debugger", "{}"] [platform.layers] compiler-runtime = "openkal-llvm-runtime@0.20.1" "c++-abi" = "openkal-llvm-runtime@0.20.1" -c-abi = { name = "openkal-musl", version = "0.29.3", default-features = false, features = ["posix", "malloc-mimalloc"] } +c-abi = { name = "openkal-musl", version = "0.29.4", default-features = false, features = ["posix", "malloc-mimalloc"] } # Built for the building machine: `okld` writes and checks the notes, `okrun` # runs an image, `okprof` reads what a measured run recorded (0.23.0: the @@ -179,7 +179,7 @@ toolchain = "llvm@23.1.3" [platform.hosted.layers] compiler-runtime = "openkal-llvm-runtime@0.20.1" "c++-abi" = "openkal-llvm-runtime@0.20.1" -c-abi = { name = "openkal-musl", version = "0.29.3", default-features = false, features = ["posix", "malloc-mimalloc"] } +c-abi = { name = "openkal-musl", version = "0.29.4", default-features = false, features = ["posix", "malloc-mimalloc"] } # The family released together for openkal 0.17 (the 0.17.2 round: okb, the # runner's bundle and library interfaces, musl's renameat2; the 0.17.3 round: @@ -224,7 +224,7 @@ c-abi = { name = "openkal-musl", version = "0.29.3", default-features # implementation provides), openkal-freebsd 0.1.0 beneath openkal-musl 0.29.2 and # openkal-llvm-runtime 0.20.1 on FreeBSD; 0.27.1, the implementations retire a # handle before closing it (openkal-linux 0.26.1, openkal-macos 0.23.1, -# openkal-windows 0.22.1) and openkal-musl 0.29.3 delivers what a readiness +# openkal-windows 0.21.1) and openkal-musl 0.29.4 delivers what a readiness # enquiry held with the rest): one version of each in a build. From 0.24.1 the members name one another by # compatible ranges (`^0.28.0`) and this group chooses the versions: mcpp # 2026.11.7.1 resolves within it, and a fix of one member is that member's @@ -234,9 +234,9 @@ c-abi = { name = "openkal-musl", version = "0.29.3", default-features openkal = "0.25.0" openkal-linux = "0.26.1" openkal-macos = "0.23.1" -openkal-windows = "0.22.1" +openkal-windows = "0.21.1" openkal-freebsd = "0.1.0" -openkal-musl = "0.29.3" +openkal-musl = "0.29.4" openkal-llvm-runtime = "0.20.1" openkal-ld = "0.6.1" openkal-run = "0.6.1"