Skip to content

0.18.1: SIGHUP is a request to end; a #! script is given its name - #40

Merged
Sunrisepeak merged 4 commits into
mainfrom
openkal-0.17.1
Oct 27, 2026
Merged

Sunrisepeak merged 4 commits into
mainfrom
openkal-0.17.1

Conversation

@Sunrisepeak

@Sunrisepeak Sunrisepeak commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Two changes in 0.18.1.

  1. kal_process_stop_requested now takes over SIGHUP as well as SIGTERM and SIGINT, and kal_process_end_as_requested ends the program by the signal that arrived. Previously a program that took the requests over was still killed when its terminal closed, without finishing in order; mcpp's cancellation records rely on finishing in order. tests/stop_word_take_over.cpp checks the hang-up case.
  2. A program that needs an interpreter (a #! script, a binfmt_misc binary) is started by its absolute name when that name reaches the file the descriptor holds (same device and inode). Before, it was started through the descriptor, so a script saw $0 as /dev/fd/<n>; a script that locates its neighbours with dirname "$0" found none of them. mcpp's provider stub met this when it wrote beside itself into /dev/fd/ticks. Where the base directory cannot be named, or the name no longer reaches the same file, the descriptor is kept as before. tests/script_sees_its_name.cpp starts a script that writes beside itself under the name in its $0. The test fails on the previous implementation (cannot create /dev/fd/beside).

The branch is openkal-0.17.1, the name openkal's conformance job checks an implementation out at. It follows openkal by that branch until openkal 0.17.1 is published, and states the version before it is merged.

Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com

Sunrisepeak and others added 2 commits October 27, 2026 08:37
…ith SIGTERM and SIGINT

A program that took the requests over was ended by SIGHUP before it could
finish in order. tests/stop_word_take_over.cpp observes it.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
… the descriptor holds

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak Sunrisepeak changed the title 0.18.1: SIGHUP is a request to end 0.18.1: SIGHUP is a request to end; a #! script is given its name Oct 27, 2026
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit a5d9f09 into main Oct 27, 2026
2 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.

1 participant