Skip to content

0.9.4 --- follow openkal-musl 0.13.3 - #19

Merged
Sunrisepeak merged 1 commit into
mainfrom
follow-musl-0.13.3
Sep 13, 2026
Merged

0.9.4 --- follow openkal-musl 0.13.3#19
Sunrisepeak merged 1 commit into
mainfrom
follow-musl-0.13.3

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Carries openkal-musl 0.13.3 (mcpplibs/openkal-musl#32), which fixes two defects every C++ consumer of this package is exposed to. This package's requirement on openkal-musl is exact, so consumers reach them only through this release.

  • A detached std::thread that ended stopped the program on macOS. musl's __unmapself moved to a 256-byte stack shared by every exiting thread, and openkal-musl's path for the calls that end the thread needed far more; the overflow overwrote the context table the exit then read. Found through lsp-mcpp, whose server crashed on macos-14 as soon as its input reader thread ended.
  • openkal-windows 0.7.3 (0.7.2 --- a channel's ends reach only the program they are placed in openkal-windows#21, #22): a child whose standard input was a channel never saw the end of it, and a started program lost the backslashes in its arguments, could not start the command interpreter, and received its working directory in the \\?\ form.

examples/cxx now also detaches a std::thread and waits for it to end, and the host jobs require it: ok: a detached thread runs and ends.

Measured with lsp-mcpp over this tree, openkal-musl 0.13.3 and openkal-windows 0.7.3, cross-built for x86_64-windows-gnu and run under Wine: all 15 unit-test programs pass in the dev profile, and in the release profile the process, task, file system and server tests and the inferred conformance fixture pass.

0.9.4.

Carries openkal-musl 0.13.3: a detached thread that ended stopped the program
on macOS, because musl's 256-byte shared exit stack was overrun by the port's
system call path; and openkal-windows 0.7.3, whose channel ends reach only the
program they are placed in and whose started programs receive their arguments
and directory as given. A version requirement here is exact, so consumers reach
these only through this release.

examples/cxx now also detaches a std::thread and waits for it to end, and the
host jobs require it.
@Sunrisepeak
Sunrisepeak merged commit 26fd02a into main Sep 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants