diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 11:23:19 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:16 -0300 |
| commit | 1ac8fbeedaf7cba881a7423b92ead1f739b8ac21 (patch) | |
| tree | c3916f9918fb98252987331195cd1b70712c890d /docs | |
| parent | 2c98513a23d060093d690dbd7743dda5ad86c117 (diff) | |
| download | pardes-1ac8fbeedaf7cba881a7423b92ead1f739b8ac21.tar.gz pardes-1ac8fbeedaf7cba881a7423b92ead1f739b8ac21.zip | |
A script whose interpreter is not there is told apart from a missing shell, and Tty refuses it up front
Tty's up-front check found the script and let it through, so the pane was made, its exec failed ENOENT, and the log read new, msg shell: shell not found, del, then the err. The check now reads a script's #! line and refuses it, interpreter /no/such/interp not found, and an exec that fails ENOENT on a file that is there says the same.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/fs.md | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -956,9 +956,12 @@ INT|TERM|HUP|QUIT|KILL` and `exec`, which starts the pane's shell again in its directory: one that is gone is refused before anything runs, `exec: <dir>: no such directory` (ENOENT), and a shell the host cannot start (not there, not executable, a script whose interpreter is not there) fails the -write with why -- `shell: shell not found`, ENOENT -- keeping the -terminal; a `Tty` whose shell cannot start fails the same way and leaves -no pane. The host knows before it answers: the child reports a failed exec +write with why -- `shell: shell not found`, or `shell: interpreter +/no/such/interp not found` for a script whose `#!` names a program that is +not there, ENOENT -- keeping the terminal; a `Tty` naming such a shell or +script is refused before anything runs (`Tty: interpreter ... not found`, +its `err` the only record), and one whose shell cannot start fails the +same way and leaves no pane. The host knows before it answers: the child reports a failed exec through a close-on-exec pipe. A directory removed under a running shell leaves the pane its name (never `... (deleted)`), so an `exec` works there once the directory is back. The size, and `pty/ctl`'s `winsize` read back, is |
