gates / gates (push) Successful in 48s
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
13 lines
793 B
Go
13 lines
793 B
Go
package config
|
|
|
|
import "sync"
|
|
|
|
// FileMu is held by EVERY read-modify-write of agent.json inside this process: the trust move (pvetrust), the PBS
|
|
// seed (pbsdr) and the backup-target move (localapi). Each of them reads the whole file, changes one section and
|
|
// writes the whole file back in place — without one lock two of them could interleave, and the second writer would
|
|
// put back the document it read BEFORE the first one's change (a silently reverted `escrow.pbs_storage_id`,
|
|
// `backup.local_backup_target` or trust section). Found by review on 2026-11-14, the night the third writer was
|
|
// added. Hold it for the whole read … write, never across a call to Proxmox or the root wrapper.
|
|
// Pinned by TestAgentJSONWritersTakeTheSharedLock (cmd/felhom-agent).
|
|
var FileMu sync.Mutex
|