Browse Source

fix to watchdog code to remove zone entry in iterator when we force shutdown

image 3 years ago
parent
commit
56a987274d
1 changed files with 1 additions and 0 deletions
  1. 1 0
      EQ2/source/WorldServer/World.cpp

+ 1 - 0
EQ2/source/WorldServer/World.cpp

@@ -2326,6 +2326,7 @@ void ZoneList::WatchdogHeartbeat()
 				tmp->SetWatchdogTime(Timer::GetCurrentTime2()); // reset so we don't continuously flood this heartbeat
 				LogWrite(WORLD__ERROR, 1, "World", "Zone %s is hung for %i.. attempting to cancel threads...", tmp->GetZoneName(), diff);
 				tmp->CancelThreads();
+				zlist.erase(zone_iter);
 				MZoneList.releasewritelock(__FUNCTION__, __LINE__);
 				safe_delete(tmp);
 				match = true;