diff --git a/docs/plans/v0/04-admin-main.md b/docs/plans/v0/04-admin-main.md index 9ee00fa..14f65c4 100644 --- a/docs/plans/v0/04-admin-main.md +++ b/docs/plans/v0/04-admin-main.md @@ -94,11 +94,11 @@ cp docs/plans/v0/_files/internal/admin/admin_test.go internal/admin/ ```sh make build -timeout --signal=TERM 3 bin/crossbar -config example.toml; echo "exit=$?" +timeout --preserve-status --signal=TERM 3 bin/crossbar -config example.toml; echo "exit=$?" ``` Expected on stderr: a line containing `listening` and `addr=127.0.0.1:17777`, then -`shutting down`; then `exit=0`. (`example.toml` names two upstreams that are not running; the +`shutting down`; then `exit=0` (`--preserve-status` makes `timeout` report crossbar's own exit code; without it GNU `timeout` prints 124 for any child it had to signal). (`example.toml` names two upstreams that are not running; the health table simply records them unhealthy — that is fine here.) ```sh diff --git a/docs/plans/v0/README.md b/docs/plans/v0/README.md index 73418dc..8c6fe8d 100644 --- a/docs/plans/v0/README.md +++ b/docs/plans/v0/README.md @@ -69,3 +69,8 @@ stops at the first task that does not end with a commit, a clean tree and a `don investigating instead of editing the Makefile. Fixed by moving the directory to `_files/` (directories starting with `_` are ignored by the go tool); every task file updated. Task 01 restarted from a clean tree. +- 2026-09-25, task 04: the step-5 check `timeout --signal=TERM 3 bin/crossbar …; echo $?` expected + `exit=0`, but GNU `timeout` reports 124 whenever it had to signal the child, whatever the child's + own exit status. Ornith noticed, sent SIGTERM directly, confirmed exit 0 that way, logged the + deviation and finished. Task-text fault (case: my task, not the model); fixed with + `--preserve-status`.