diff options
Diffstat (limited to 'src/pardes.zig')
| -rw-r--r-- | src/pardes.zig | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/pardes.zig b/src/pardes.zig index 111e2853..4fdb6c71 100644 --- a/src/pardes.zig +++ b/src/pardes.zig @@ -5638,6 +5638,23 @@ pub const Options = struct { /// browser) has no filesystem at all — but the option rides here because /// argv already reaches the shells this way, like `nested`. fs: ?[]const u8 = null, + /// SERVE THAT SAME TREE OVER 9P2000 on a unix socket (`--fs9`), and under + /// what name. `null` is off; `""` means "derive the socket name" (the + /// session name in a daemon, this pid anywhere else); anything else is the + /// name `--fs9=<name>` gave, which scripts need because they have to + /// predict `$XDG_RUNTIME_DIR/pardes-9p-<name>.sock`. + /// + /// INDEPENDENT of `fs` above: either, both or neither. They are two + /// transports onto one tree (`src/acmefs.zig`) and neither is the other's + /// prerequisite — on Linux the FUSE mount needs `fusermount3` and a + /// kernel with FUSE, and this needs neither, which is the whole reason + /// docs/9p.typ §12.4 calls them complementary rather than competing. + /// + /// Read by `detached/server.zig` and nowhere else so far: a daemon polls + /// its own listener in the one `poll(2)` it already runs, which costs it + /// no thread. The tty and GUI shells would each need their own wake for + /// it, exactly as they need one for `/dev/fuse`, and they take `fs` only. + fs9: ?[]const u8 = null, /// Native launcher's resolved per-user `pardes` directory. Relative /// ThemeFile operands and DumpThemes are rooted here. Null for web and /// direct core callers which did not opt into per-user configuration. |
