aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/outcome/finalise.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-18 20:33:03 +0900
committerOphestra <cat@gensokyo.uk>2026-10-18 20:33:37 +0900
commit1a7b909f971dee8c215cf1877cd95a3d690730e1 (patch)
treeef27df23f8fcfb9ff770d69181a76efeb0d8c554 /internal/outcome/finalise.go
parent9eb09ee7556cea7b9c138e4a3bfa1692f95347a5 (diff)
internal/system: file-based big lock
Simultaneous commits or reverts can race if they have overlapping targets. This big lock synchronises entry into the Commit and Revert critical sections across all cmd/hakurei processes. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/outcome/finalise.go')
-rw-r--r--internal/outcome/finalise.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/internal/outcome/finalise.go b/internal/outcome/finalise.go
index 4049b8d3..7e5faab6 100644
--- a/internal/outcome/finalise.go
+++ b/internal/outcome/finalise.go
@@ -74,7 +74,7 @@ func (k *outcome) finalise(
return err
}
- sys := system.New(k.ctx, msg, s.uid.unwrap())
+ sys := system.New(k.ctx, msg, s.uid.unwrap(), s.sc.SharePath.Append("lock"))
if err := s.newSys(config, sys).toSystem(); err != nil {
return err
}