summaryrefslogtreecommitdiff
path: root/src/tty
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-20 02:34:12 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commitfd50bd971d6dea7eaaa4ee5436ba16b95fa25b30 (patch)
tree5c57378525ea774fee7dc3a698a3d4fd9011712b /src/tty
parent2ce8956c8e9843eba7407ab12593871ee451b991 (diff)
downloadpardes-fd50bd971d6dea7eaaa4ee5436ba16b95fa25b30.tar.gz
pardes-fd50bd971d6dea7eaaa4ee5436ba16b95fa25b30.zip
Serve Unix and TCP 9P through cloud9.serve's std.Io runner
The hand-written poll loop for Unix/TCP listeners is replaced by cloud9.serve.Runner; requests are queued to the editor thread, which answers them under the connection lock on each frame and retries parked reads as before. QUIC keeps the poll path (its adapter is fd based). The detached server no longer loses a wake that lands between frames. The firmware path keeps driving the engine with push/step. cloud9 re-pinned. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Diffstat (limited to 'src/tty')
-rw-r--r--src/tty/tty.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tty/tty.zig b/src/tty/tty.zig
index 1927577b..23b7c09b 100644
--- a/src/tty/tty.zig
+++ b/src/tty/tty.zig
@@ -653,7 +653,7 @@ fn localSession(
var frame_arena: std.heap.ArenaAllocator = .init(allocs.frame);
defer frame_arena.deinit();
- var fs = ninep_io.start(gpa, core);
+ var fs = ninep_io.start(io, gpa, core);
defer if (fs) |f| f.deinit(gpa);
var sh: Shell = .{
@@ -717,7 +717,7 @@ fn localSession(
try startInput(loop, input_cache);
defer if (attached.* == null) stopInput(loop);
(try std.Thread.spawn(.{}, winchWatch, .{ loop, vx, tty })).detach();
- if (fs) |f| try f.wakeThread(loop, wakeFs);
+ if (fs) |f| try f.watch(loop, wakeFs);
try vx.queryTerminalSend(tty.writer());
sh.threads_ok = true;