Fix /logout hang caused by blocking worker thread joins

unloadAll() joins worker threads which blocks if they're mid-tile
(prepareTile can take seconds for heavy ADTs). Replace with softReset()
which clears tile data, queues, and water surfaces without stopping
worker threads — workers find empty queues and idle naturally.
This commit is contained in:
Kelsi 2026-02-25 13:37:09 -08:00
parent 872b10fe68
commit 26a685187e
3 changed files with 30 additions and 2 deletions

View file

@ -212,6 +212,7 @@ public:
* Unload all tiles
*/
void unloadAll();
void softReset(); // Clear tile data without stopping worker threads (non-blocking)
/**
* Precache a set of tiles (for taxi routes, etc.)