summaryrefslogtreecommitdiff
path: root/src/pardes.zig
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 13:58:36 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commiteb2428115588004a8bc04a09d45fb1104f727882 (patch)
tree5846e6f4b474bd4e900d8832b0bc635db162f092 /src/pardes.zig
parent7da8fe5005f0fd44899a1172e763fddcd7cac4d2 (diff)
downloadpardes-eb2428115588004a8bc04a09d45fb1104f727882.tar.gz
pardes-eb2428115588004a8bc04a09d45fb1104f727882.zip
Unattended messages expire in the detached session's loop, not as a 9P request is served
serveFs expired them, but a read is answered while a step is out in a syscall, because reads change nothing, and this one changed pane messages and needs_frame from under the step. The detached session's loop now expires them between steps, and while nobody is attached and a message is up it looks again every 100 ms rather than waiting for something to wake it. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/pardes.zig')
-rw-r--r--src/pardes.zig1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/pardes.zig b/src/pardes.zig
index 2eab3d62..9fa747cd 100644
--- a/src/pardes.zig
+++ b/src/pardes.zig
@@ -4675,7 +4675,6 @@ pub const Pardes = struct {
/// that changes a pane costs a frame, which is why a round trip on a
/// local socket costs microseconds and not a vsync.
pub fn serveFs(p: *Pardes, req: ctlfs.Req) ctlfs.Reply {
- Messages.expireUnattended(p);
if (!ctlfs.changesPane(req)) return ctlfs.handle(p, req);
p.needs_frame = true;
p.raw_hover_intent = false;