ModernUO/Projects/UOContent/Accounting
Kamron Batman 9e347e9364
fix(login): stop the worker on shutdown, do not pretend to finish its work
Shutdown() drained pending writes and applied them. That accomplished
nothing: no save runs on shutdown -- World.Save() is reachable only from the
autosave timer and the console command, and HandleClosed merely waits for an
in-progress write before Environment.Exit(0) -- so an applied write lands in
an Account that is immediately discarded. It was justified as becoming
correct once a shutdown save exists, which is building for a fix that does
not.

It also called Core.LoopContext.ExecuteTasks(), which is not a subscriber's
to call. Pumping the shared context from inside a shutdown handler runs other
subscribers' posted work at an arbitrary point in the event order. That drain
belongs in the core, before the events, and is recorded as such in the
follow-up handoff along with the ordering it requires.

What is left is stopping the thread, which is the same on both paths, so
shutdown and crash now share one implementation.
2026-08-08 22:57:13 -07:00
..
Security fix(login): stop the worker on shutdown, do not pretend to finish its work 2026-08-08 22:57:13 -07:00
Account.cs docs: sweep comments to match what the code now does 2026-08-08 22:47:54 -07:00
Account.Migrations.cs chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
AccountComment.cs fix(core): Fixes accounts and moves it to codegen (#644) 2021-06-05 19:39:16 -07:00
AccountHandler.cs fix(login): stop the worker on shutdown, do not pretend to finish its work 2026-08-08 22:57:13 -07:00
Accounts.cs fix: Fixes libdeflate gc pin issue (#1794) 2024-05-25 18:11:46 -07:00
AccountTag.cs fix(core): Fixes accounts and moves it to codegen (#644) 2021-06-05 19:39:16 -07:00
IPasswordProtection.cs fix: Fixes Argon2 verify correctness and the password upgrade lockout (#2562) 2026-08-08 00:24:59 -07:00