ModernUO/Projects/UOContent/Accounting
Kamron Batman 2d9d83b2fd
fix(login): finish pending password writes on a normal shutdown
Exit() was never wired, so it was dead code either way. Wiring it correctly
depends on which teardown path is running.

On a normal shutdown EventSink.Shutdown fires on the game thread after the
loop has stopped, which is the last chance pending work gets: results the
worker already posted are sitting on a loop context nothing will pump again.
So the thread is stopped, the context drained once, and queued writes are
computed and applied in place. Verifies are dropped instead -- they only
decide a login, and every connection is closing.

On a crash there is no usable game thread, so nothing may be applied and the
thread is simply stopped. Subscribed separately because HandleClosed skips
InvokeShutdown when _crashed is set, which would otherwise leave the crash
path unhandled entirely.

Wired from AccountHandler.Initialize rather than a Configure on the worker:
AssemblyHandler.AddMethods binds Static | Public, so a Configure on an
internal type is never discovered.
2026-08-08 21:54:03 -07:00
..
Security fix(login): finish pending password writes on a normal shutdown 2026-08-08 21:54:03 -07:00
Account.cs perf(login): move password writes off-loop too, behind one mechanism 2026-08-08 12:25:49 -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): finish pending password writes on a normal shutdown 2026-08-08 21:54:03 -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