This repository has been archived on 2026-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
ollie-9p/internal/p9
Levi Neely 2bc30d275c 9p: snapshot *wait baseline at open time to eliminate inter-read race
The previous design read the current value at read time. If a state
change fired between one cat returning and the next cat opening, the
new cat would see the changed value as current and wait forever for
the next change.

Fix: snapshot the baseline in the fid at Topen time. Each read blocks
until the value changes from the open-time snapshot, then updates the
fid's baseline for the next read. The race window is closed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 16:37:45 +02:00
..
batchstore.go p9: add x/ plugin namespace; wire elevation via x/elevate 2026-04-18 20:50:27 +02:00
pluginstore.go p9: rename PluginStore to ExecStore 2026-04-19 05:55:15 +02:00
server.go 9p: snapshot *wait baseline at open time to eliminate inter-read race 2026-04-19 16:37:45 +02:00
sessionfilestore.go 9p: snapshot *wait baseline at open time to eliminate inter-read race 2026-04-19 16:37:45 +02:00
sessionstore.go p9: wire elevation.Detect() into execute server; remove session env injection 2026-04-18 20:06:48 +02:00
skillstore.go 9p: introduce pluggable store interface for all filesystem endpoints 2026-04-14 21:40:17 +02:00
store.go 9p: complete SessionStore integration; /s/ fully backed by store 2026-04-14 21:46:45 +02:00
toolstore.go 9p: introduce pluggable store interface for all filesystem endpoints 2026-04-14 21:40:17 +02:00
utilstore.go 9p: add u/ namespace; move q/sched/optimize to correct namespaces 2026-04-18 12:08:43 +02:00