Skip to content

arm64: detach launchd into its own session - #15

Open
kkHAIKE wants to merge 4 commits into
darlinghq:mainfrom
kkHAIKE:arm64-support
Open

arm64: detach launchd into its own session#15
kkHAIKE wants to merge 4 commits into
darlinghq:mainfrom
kkHAIKE:arm64-support

Conversation

@kkHAIKE

@kkHAIKE kkHAIKE commented May 20, 2026

Copy link
Copy Markdown

On ARM64 launchd's early startup broadcasts signals via kill(0/-1, ...) and killpg(0, ...). These propagate back to darlingserver / the darling wrapper / timeout because they share the same pgrp by default, killing the whole test harness.

Call setsid() after the fork-and-before-execve point of launchd, so launchd's process group is fresh and its signal broadcasts stay contained. Warn-and-continue on failure.

Part of the ARM64 support series; the umbrella PR in darlinghq/darling references the rest.

kkHAIKE and others added 3 commits March 4, 2026 21:09
On ARM64 launchd's early startup broadcasts signals via kill(0/-1, ...) and
killpg(0, ...). These propagate back to darlingserver / darling-wrapper /
timeout because they share the same pgrp by default, killing the whole
test harness. Call setsid() before exec'ing launchd so signals stay
contained.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…atch; dedup clock decls

* dtape_thread_save_state_to_user: restore the `} else` chaining the x86
  block to the arm64 case so x86_64 no longer falls through to -ENOSYS
  after copying state (matches dtape_thread_load_state_from_user).
* thread_{set,get}_state_internal ARM_THREAD_STATE: dispatch on count --
  arm_unified_thread_state_t for unified callers (objc/WebKit), bare
  arm_thread_state64_t for Darling-internal RPC paths -- mirroring XNU's
  osfmk/arm64/status.c instead of always casting to a bare ts_64.
* timer.c / rtclock_arm64.c: factor the duplicated CLOCK_MONOTONIC /
  struct timespec / clock_gettime declarations into a shared
  duct-tape/src/linux_clock.h.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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