Signals end every command, not only ssh to and ssh install (closes #48)
check / check (push) Successful in 2m35s
check / check (push) Successful in 2m35s
SIGINT, SIGTERM and SIGHUP were caught for the whole run, but only the ssh and sftp children acted on them: the mnemonic prompt waited for Enter, and an interrupted `age encrypt -o` went on to put the encryption of the cut-off input in place. Now only `ssh to` and `ssh install` catch them, from once the mnemonic is read until their cleanup has run; everywhere else they end the tool at once. Tests cover an interrupted `age encrypt -o` and the install working directory on a signal. Model: opus-5-5
This commit is contained in:
@@ -274,6 +274,15 @@ girl mad pet galaxy egg matter matrix prison refuse sense ordinary nose
|
||||
Errors go to standard error and the exit status is 1, except for `ssh to`, which
|
||||
passes through `ssh`'s own exit status.
|
||||
|
||||
SIGINT, SIGTERM and SIGHUP end any command at once, at the mnemonic prompt too,
|
||||
with the status a shell gives a program killed by that signal (130 for SIGINT).
|
||||
An interrupted `age encrypt -o` or `age decrypt -o` leaves the named file as it
|
||||
was; the unfinished file it was writing stays beside it, named
|
||||
`<file>.<digits>`. While `ssh to` or `ssh install` has `ssh` or `sftp` running,
|
||||
the signal ends that program instead, the tool removes its agent socket or
|
||||
working files, and it exits with status 1, or for `ssh to` with `ssh`'s own
|
||||
status if `ssh` reported one.
|
||||
|
||||
## Entrypoints
|
||||
|
||||
The repo adheres to the
|
||||
|
||||
Reference in New Issue
Block a user