You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(rootfs/qemu-static): hold EX during state-check+disable; K-builder verifies state=1 after SH-NB
Addresses Codex P2 review feedback on PR #113 / armbian#9769:
- Race in N-builder entry (line:239): EX-NB → release → re-take SH split
let a K-builder slip in between observation and the state-check write,
silently disabling qemu-arm while K relied on it. Restructure to hold
EX during state check + echo 0, then atomically downgrade EX→SH on the
same fd via Linux flock(2)'s flc_lock transition. SH waiters are
granted only after our SH is in place and qemu-arm is already 0.
- K-builder symmetric check: after acquiring the emulation-mode SH-NB,
verify state=1; if 0, concurrent N-builders have disabled qemu-arm
and the killswitch cannot honor its contract — bail with a clear
error rather than running a broken anchor.
- Cleanup-ordering invariant comment was inverted. add_cleanup_handler
PREPENDS, so later registrations run FIRST. The invariant survives
because setup is called before mount_chroot in both call sites; the
comment now states the actual mechanism and documents the failure
mode if a future call site inverts the order.
Assisted-by: Claude:claude-opus-4.7
display_alert "Native armhf via binfmt_elf""killswitch requested but qemu-arm already disabled by concurrent native-armhf builders""err"
204
+
exit_with_error "cannot honor NATIVE_ARMHF_ON_ARM64=no: concurrent native-armhf builders have disabled qemu-arm. Wait for them to finish or run on a separate host."
display_alert "Native armhf via binfmt_elf""concurrent build holds emulation-mode lock (NATIVE_ARMHF_ON_ARM64=no)""err"
244
273
exit_with_error "cannot enable native armhf: concurrent build with NATIVE_ARMHF_ON_ARM64=no holds emulation lock. Wait for it to finish or run on a separate host."
0 commit comments