mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-13 10:10:47 +01:00
The periodic setup wrote /usr/local/bin scripts with sed > target, truncating the file in place. bash reads scripts lazily, so the running hosts-file-monitor could execute a half-new file. New lib/atomic_install.sh renders into a temp file beside the target, syntax-checks it, sets mode/owner and renames it over the target (new inode). A bad template fails closed and leaves the live file untouched. Applied to the maintenance script, hosts monitor, browser wrapper and auto-update script; the hosts monitor service is restarted if running. Test: test_services_atomic_install.sh (inode changes, old inode keeps old bytes, syntax error and missing template leave target untouched). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WzxdWYWDKuhbBAoNETfoB9 |
||
|---|---|---|
| .. | ||
| explanations | ||
| superpowers | ||
| DOCS-agent-harness-evaluation-2026-08-18.md | ||
| DOCS-app-split-recipes.md | ||
| DOCS-device-owner-research.md | ||
| DOCS-dns-filtering-parked.md | ||
| DOCS-kcov-under-report.md | ||
| DOCS-lan-blocker-contingency.md | ||
| DOCS-python-split-recipes.md | ||
| DOCS-restructure-live-state.md | ||
| DOCS-shared-checkout-safety.md | ||
| DOCS-shell-split-harness.md | ||
| DOCS-shell-split-recipes.md | ||
| DOCS-shell-split-verification.md | ||
| mcp-shortlist.html | ||