Repository navigation
A fix for services that run an external command.
Bug fixes
-
A service whose external command exits non-zero now stops with
.fin.error(#165). xs dropped the exit status of a service's external commands, so a failed run drained like a clean one. Under the defaultrestart: "on-success"such a service restarted every second, emitting.activeeach time, and never reported the failure. It now emitsxs.service.<name>.fin.errorwith the exit code in the message and stays down, as it already did for an error raised in nu. This holds mid-pipeline too, as in^my-tool | lines | each { from json }, the same check nu applies for pipefail. A SIGPIPE is not an error, and a service stopped by.term, a hot-replace orxs.stoppingstill ends with.fin.term,.replacedor.stopped. Embedders getEngine::run_closure_in_job_with_exit, which returns the exit status guards alongside the body;run_closure_in_jobis unchanged. -
The macOS release build recovers from its known libproc failure again. The build looked for the old wording of rustc's error, which has since changed, so it now matches the file name alone.
Changelog
- fix: a service whose external exits non-zero stops with .fin.error