Repository navigation
0.15.0 --- the atoms of openkal 0.17, the stop word given back, and SIGPIPE no longer fatal - #30
Merged
Merged
Conversation
…IGPIPE no longer fatal openkal 0.17 (branch openkal-0.17.0): - kal_fs_rename_flags (renameatx_np RENAME_EXCL) on APFS and HFS+ - kal_env_image (proc_info PROC_PIDPATHINFO, then executable_path=), kal_env_system - kal_net_listen_at / kal_net_connect_at: AF_UNIX bound relative to the directory through the thread's own working directory (__pthread_fchdir); no bindat here - kal_process_end_as_requested; kal_process_self, kal_process_open_id, kal_process_info (proc_bsdinfo start time, rusage processor time in the kernel's timebase) - KAL_TERM_SEQUENCES reported set - kal_exec_publish_part, kal_exec_granularity - an environment entry without = is refused Defects: - K2: a request the starter ignored stays ignored when the word is armed - K8: SIGPIPE ignored where nothing else chose a disposition; a write to a closed stream is reported (the sigaction shape is the one the stop word measured) Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
sigreturn is validated against a per-thread token the kernel hands the trampoline in x5, once anything installs a disposition through the C library. The trampoline passed nothing, and a program that had called signal() before arming the stop word died with SIGTRAP on its first request. Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…rted program begins with the default again where the ignore was made here Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…rness was started with Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…name (openkal 0.17) Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
…OP_REMOVE_OPEN (openkal 0.17, clause 7.14) Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements openkal 0.17 (mcpplibs/openkal#52, branch
openkal-0.17.0) and fixes two defects.openkal 0.17
kal_fs_rename_flags:renameatx_np(RENAME_EXCL)on APFS and HFS+.kal_env_image:proc_info(PROC_PIDPATHINFO), falling back toexecutable_path=.kal_env_system:macos.kal_net_listen_at/kal_net_connect_at: this kernel has nobindat/connectat. The name is bound relative to the directory through the thread's own working directory (__pthread_fchdir), entered and left around the call, so no other thread's relative names change meaning in between.kal_process_end_as_requested.kal_process_self,kal_process_open_id,kal_process_info. There is no descriptor for a process here, so an opened handle carries 24 bits of the program's start time.endedis reported once the identifier names a program that started at a different time.KAL_TERM_SEQUENCESis reported as set.kal_exec_publish_partandkal_exec_granularity.=is refused.Defects
sigactionstructure is the one the stop word already measured. A write to a closed stream is now reported to the program instead of ending it.Not changed: the x86_64 stop word (K6) remains unclaimed until mcpp publishes a macOS x86_64 build that can run it in CI (open question O5).
Tests:
tests/stop_word_and_sigpipe.cpp,tests/stop_word_ignored.cpp. The sources cross-compile locally foraarch64-macoswith llvm 23.1.3; this repository's macOS CI runs them.