diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-29 02:21:57 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-10-01 00:12:15 -0300 |
| commit | 90f5c414a90afec978c8c0add58fd2a7e29acbaa (patch) | |
| tree | 21a73a5ec603705cf789d39da73cceea425d9420 /docs/fs.md | |
| parent | eece0fbe709142f6731b7dd2e84009c3a18a3806 (diff) | |
| download | pardes-90f5c414a90afec978c8c0add58fd2a7e29acbaa.tar.gz pardes-90f5c414a90afec978c8c0add58fd2a7e29acbaa.zip | |
A read on a closed pane's event ends ENOENT, and the pane cap is ENOSPC
9ns reads an error's words, not its errno: "window shut down" came out as
EIO where every other file of a gone pane gives ENOENT, and "no pane
slots" as EIO. The event and pty/data reads a pane closed under now say
"no such pane: its window shut" (ENOENT), and the cap says "no space for
a pane: 64 max" (ENOSPC; 9ns has no word for ENFILE).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
| -rw-r--r-- | docs/fs.md | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -117,7 +117,8 @@ Existing Plan9port/v9fs clients need a userspace bridge for QUIC. an empty column (a column with panes is refused, ENOTEMPTY) /pane/new open it to make a pane; the read answers that pane's serial. A session holds 64 panes (16 on the board); at that, every route that would open one -- this - open, look, exec, New, Tty -- fails with `no pane slots: 64 max` and an err + open, look, exec, New, Tty -- fails with `no space for a pane: 64 max` (ENOSPC through 9ns, which has + no word for ENFILE) and an err record, and look reads back empty /pane/<n>/ name body tag ctl addr dot limit data xdata sel dirty mark scroll errors event look exec, plus pty/{ctl,status,data} on terminals @@ -674,7 +675,8 @@ A read with nothing to give yet -- a following `log`, `event`, `pty/data`, a `pty/run` before its answer -- is held, the way factotum holds its log's reads (security/auth/factotum/log.c) and acme an event read: the core keeps it, and whoever next has news for it (a record, output, a run's answer, the pane -closing, which answers acme's "window shut down") answers it on the +closing, which answers `no such pane: its window shut`, ENOENT as any +other file of a gone pane gives, where acme says "window shut down") answers it on the connection it came on as the turn is given up. Nothing else parked is retried for it. The core keeps the ticket cloud9 gave the park (`Conn.hold`) and answers only while that very park waits, so a read the |
