void CHList::DeleteObject( void *node ) { if ( node == NULL ) return; RemoveHash( (LPLLISTINFO)node ); CLList::DeleteObject( node ); }
const void* CHList::SetKey(void *ptr, const void *pKey, DWORD dwKeySize) { LPLLISTINFO pli = (LPLLISTINFO)ptr; if ( pli == NULL ) return pKey; // Remove from hash table RemoveHash( pli ); // Set the new key CLList::SetKey( ptr, pKey, dwKeySize ); // Set the new hash AddHash( pli ); return pKey; }
void TreeServer::SQuitInternal(unsigned int& num_lost_servers) { ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Server %s lost in split", GetName().c_str()); for (ChildServers::const_iterator i = Children.begin(); i != Children.end(); ++i) { TreeServer* server = *i; server->SQuitInternal(num_lost_servers); } // Mark server as dead isdead = true; num_lost_servers++; RemoveHash(); if (!Utils->Creator->dying) FOREACH_MOD_CUSTOM(Utils->Creator->GetEventProvider(), SpanningTreeEventListener, OnServerSplit, (this)); }