diff options
| author | historia <[not public]> | 2026-09-16 13:52:58 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-16 13:52:58 -0400 |
| commit | c054b27f628f23fecc505b9e09e78721738f3c4e (patch) | |
| tree | ea197165bc454ee811dd22b9ceef5dc94bb0b279 /internal/game/owner.go | |
| parent | f2d44f10f52d3fe68fdb19b518a330f7af9e1ed2 (diff) | |
| download | thehouseoficarus-c054b27f628f23fecc505b9e09e78721738f3c4e.tar.gz | |
fix: shutdown admission, recovery identity/order, rollback journal retention, pickup merge
Diffstat (limited to 'internal/game/owner.go')
| -rw-r--r-- | internal/game/owner.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/internal/game/owner.go b/internal/game/owner.go index 8546d10..ce1f687 100644 --- a/internal/game/owner.go +++ b/internal/game/owner.go @@ -136,10 +136,11 @@ func (g *Game) run(fn func()) { close(task) }) { // The owner loop has stopped (graceful shutdown in progress). - // Admissions are already closed, so only stragglers reach this: - // execute inline rather than block forever. A full queue never - // takes this path: enqueue applies backpressure instead. - fn() + // Admissions are closed: DROP the task. Executing it on the + // caller's goroutine would mutate live state concurrently with the + // shutdown sequence and after the final-save barrier (network + // transports are still draining until transportStop runs). See + // TestShutdownRejectsSessionInput. return } <-task |
