code wiki / _hdl_build / nx_keeper.nx

nx_keeper.nx

buildroot/runtime/_hdl_build/nx_keeper.nx

3137 B67 linesdepth 5pulls 5 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

about

nx_keeper.nx -- ★ RETIRED / DO NOT RUN (2026-06-16, closes hosting_research gap #9 "single-supervisor"). SUPERSEDED BY nx_hostctl.cmd_supervise, which is the ONE boot supervisor (started by rc.d nishi_sites.sh) and already covers vroom(:8446) + translate(:8447) -- now with PID-liveness + SERVING health-probe (HUNG-aware) + a crash-loop guard, which this keeper lacked. Running BOTH = two supervisors fighting over the same daemons (double-spawn / restart races) = the exact fragmentation gap #9 names. Kept only as history; do not start it and do not add it to rc.d. If found running on the NAS, kill it (nx_hostctl owns supervision). Original purpose preserved below for the record. SOVEREIGN process supervisor for the nishifamily.com/video stack. Durability: the video daemon (:8446) and translate daemon (:8447) were setsid-only -> a crash left them down. Connect-probes both ports every 5s and re-spawns any that's down via fork+execve (reaping zombies via wait4/WNOHANG). Pure nx_syscalls. license_tier: ORIGINAL

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_connect.nx nx_keeper.nx

imports: nx_syscalls.nxnx_connect.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap kp_up sys_socket sys_mmap ↻ kp_fill_addr nx_connect_bounded nx_fcntl sys_connect sys_mmap ↻ sys_poll sys_close kp_start sys_fork sys_mmap ↻ sys_execve sys_exit sys_wait4 sys_sleep_ms sys_mmap ↻ sys_munmap

structs

none

consts

15const KP_MAGIC_8446: i64 = 8446
16const KP_MAGIC_8447: i64 = 8447
17const KP_MAGIC_5000: i64 = 5000
19const KP_VROOM: *u8 = "/volume1/homes/elderwesto/nishihost/nx_vroom_daemon.elf" as *u8
20const KP_XLATE: *u8 = "/volume1/homes/elderwesto/nishihost/nx_translate_daemon.elf" as *u8

functions

23func kp_fill_addr(a: *u8, port: i64) -> i64
called by 1: kp_up
32func kp_up(port: i64) -> i64
44func kp_start(path: *u8) -> i64
56func main() -> i64