R-1253 (P2): an export that stops its app refuses while another operation (a restore) holds the app-stop marker — its Undo is never replaced. Commit only.
gates / gates (push) Successful in 1m28s

This commit is contained in:
admin committed 2026-10-24 20:29:59 +02:00
1 parent 518a13592d
commit c9b4b82dc7
9 files changed
+178 -1

No files matched your search

+4 -1
View File
@@ -3601,9 +3601,12 @@ func (a *exportAdapter) GetStacksBaseDir() string {
type exportStopGuard struct{ g *backup.AppStopGuard }
func (a exportStopGuard) Begin(opID string, stacks []string) error {
return a.g.Begin(opID, backup.ReasonAppExport, stacks)
// R-1253: never replace the marker another operation (a restore) holds — its Undo is the only crash record.
return a.g.BeginExclusive(opID, backup.ReasonAppExport, stacks)
}
func (a exportStopGuard) BusyWith() string { return a.g.BusyWith() }
func (a exportStopGuard) End() { a.g.End() }
func (a exportStopGuard) ReleaseFailed(stacks ...string) { a.g.ReleaseFailed(stacks...) }