Addressing some bugs regarding lifetimes and callbacks that could trigger random-ish crashed - wip

This commit is contained in:
2026-03-17 17:00:20 +01:00
parent 1136892c5d
commit 604e4ace0f
9 changed files with 92 additions and 51 deletions

View File

@@ -85,11 +85,15 @@ namespace ColumnLynx::Net {
void SessionRegistry::lockIP(uint32_t sessionID, uint32_t ip) {
std::unique_lock lock(mMutex);
mSessionIPs[sessionID] = ip;
/*if (mIPSessions.find(sessionID) == mIPSessions.end()) {
Utils::debug("yikes");
}*/
mIPSessions[ip] = mSessions.find(sessionID)->second;
auto it = mSessions.find(sessionID);
if (it == mSessions.end() || !it->second) {
Utils::warn("SessionRegistry::lockIP called for unknown session " + std::to_string(sessionID));
mSessionIPs.erase(sessionID);
return;
}
mIPSessions[ip] = it->second;
}
void SessionRegistry::deallocIP(uint32_t sessionID) {