zsh: two more cache answers that claimed capabilities SchOS lacks
Checking the rest of ZSH_CACHE after the killesrch fix, on the principle that
one wrong answer in a hand-written block is rarely the only one. Two more, both
`yes`, both measurable on the running system in a line each.
**zsh_cv_sys_path_dev_fd=/dev/fd.** Neither /dev/fd nor /proc/self/fd exists --
/proc/self does not exist at all. So `<(cmd)` failed at the point of use with
cat: /dev/fd/11: No such file or directory
which reads as a broken command rather than as a feature the system does not
have.
**zsh_cv_sys_fifo=yes.** mkfifo() does not fail here. It *succeeds*, and
produces a character device: mknod() turns S_IFIFO into a T_DEV and keeps the
major/minor, so `ls -l` shows `crw-rw-rw- 438, 0` where a `p` belongs, and
nothing written to it comes back out. Succeeding wrongly is what made `yes`
look defensible.
Both `no` now. `<(cmd)` says "doesn't look like your system supports FIFOs",
which names the missing thing instead of blaming cat, and `$( )` is unaffected.
The two gaps are recorded in docs/architecture/filesystem.md rather than left
implied by a build flag -- named pipes and a path to one's own descriptors are
both real features, and neither exists.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b012060699
commit
fdbd9bcf95
3 changed files with 50 additions and 2 deletions
|
|
@ -505,6 +505,25 @@ The lesson is narrow and worth stating: when a probe that reproduces a
|
|||
program's exact syscall sequence behaves correctly and the program does not,
|
||||
stop looking under the syscalls and start looking at the build.
|
||||
|
||||
#### Two more in the same block
|
||||
|
||||
Checking the rest of `ZSH_CACHE` after fixing that one found two more answers
|
||||
claiming capabilities SchOS does not have, both `yes`, both measurable on the
|
||||
running system in one line each:
|
||||
|
||||
- `zsh_cv_sys_path_dev_fd=/dev/fd` — neither `/dev/fd` nor `/proc/self/fd`
|
||||
exists. `<(cmd)` therefore failed at the point of use with `cat:
|
||||
/dev/fd/11: No such file or directory`, which reads as a broken command
|
||||
rather than an unimplemented feature.
|
||||
- `zsh_cv_sys_fifo=yes` — `mkfifo()` does not fail, it *succeeds* and produces
|
||||
a character device: `mknod()` turns `S_IFIFO` into a `T_DEV`, so `ls -l`
|
||||
shows `crw-rw-rw- 438, 0` and nothing written comes back out.
|
||||
|
||||
Both are `no` now, and `<(cmd)` says *"doesn't look like your system supports
|
||||
FIFOs"* — which names the missing feature instead of blaming `cat`. The gaps
|
||||
themselves are recorded in
|
||||
[../architecture/filesystem.md](../architecture/filesystem.md).
|
||||
|
||||
---
|
||||
|
||||
This was left here deliberately rather than continuing to iterate blind:
|
||||
|
|
|
|||
Loading…
Reference in a new issue