Skip to content

0.13.0 --- the atoms of openkal 0.17; links, a bound lifetime, the stop word, the network's names and the console's characters - #33

Merged
Sunrisepeak merged 10 commits into
mainfrom
openkal-0.17.0
Oct 26, 2026
Merged

Sunrisepeak merged 10 commits into
mainfrom
openkal-0.17.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Implements openkal 0.17 (mcpplibs/openkal#52, branch openkal-0.17.0) and fixes K3, K4, K5, K9 and K10 from the part-2 design (mcpp-community/mcpp .agents/docs/2026-10-26-ecosystem-part2-os-library-over-openkal-design.md §7.1). The commit message lists each change. New test: tests/links_unc_and_bound.cpp. Cross-compiled locally for x86_64-windows-gnu with llvm 23.1.3; this repository's Windows CI runs the tests and conformance.

Sunrisepeak and others added 10 commits October 26, 2026 19:28
…op word, the network's names and the console's characters

openkal 0.17 (branch openkal-0.17.0):
- kal_fs_rename_flags: the rename record with replace_if_exists clear
- kal_env_image (GetModuleFileNameW), kal_env_system
- kal_net_listen_at / kal_net_connect_at: AF_UNIX at the directory's final name
- kal_process_end_as_requested: STATUS_CONTROL_C_EXIT, reported as terminated
- kal_process_self, kal_process_open_id (OpenProcess keeps the identifier), kal_process_info
- KAL_TERM_SEQUENCES: ENABLE_VIRTUAL_TERMINAL_PROCESSING on a console output handle,
  whose mode bits share numbers with the input's and are now told apart
- kal_exec_publish_part, kal_exec_granularity
- an environment entry without = is refused

Defects:
- K3: the console routine handles Ctrl+C and Ctrl+Break and the program continues;
  STOP_REQUESTED is claimed
- K4: links are made (a symbolic link; for a directory a junction where that is refused)
  and read (FSCTL_GET_REPARSE_POINT); MAKE_LINKS claimed on volumes with reparse points
- K5: KAL_SPAWN_BOUND_LIFETIME by a job with KILL_ON_JOB_CLOSE per started program
- K9: the root of the network's names (\??\UNC) is a preopen named //, and a volume
  mounted after inception is appended
- K10: an interactive console is written with WriteConsoleW, an incomplete character
  carried to the next write
- handle.h: the generation is 24 bits; the top byte is the interface's

Co-authored-by: speak-agent <[email protected]>
… the table's count read under its lock

Co-authored-by: speak-agent <[email protected]>
… on what it leads to

Removing a link to a file removed the file and left the link, and a link to a
directory could not be removed: a C++ remove_all of a directory holding one
failed (openkal-llvm-runtime's cxx example on Windows).

Co-authored-by: speak-agent <[email protected]>
…OP_REMOVE_OPEN (openkal 0.17, clause 7.14)

Co-authored-by: speak-agent <[email protected]>
…input (openkal 0.17, ledger entry 38); openkal-windows cancels the pending receive

Co-authored-by: speak-agent <[email protected]>
…read and every later one (bounded too) report the end of input whatever error the system chose

Co-authored-by: speak-agent <[email protected]>
Co-authored-by: speak-agent <[email protected]>
@Sunrisepeak
Sunrisepeak merged commit e71f88b into main Oct 26, 2026
4 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