// save the stats bool saveSpiderProxyStats ( ) { // save hashtable s_proxyBannedTable.save(g_hostdb.m_dir,"proxybantable.dat"); s_banCountTable.save(g_hostdb.m_dir,"proxybancounttable.dat"); // save hash table return s_iptab.save(g_hostdb.m_dir,"spiderproxystats.dat"); }
bool saveHashTable ( ) { if ( s_ht.m_numSlotsUsed <= 0 ) return true; SafeBuf fn; fn.safePrintf("%s/qa/",g_hostdb.m_dir); log("qa: saving crctable.dat"); s_ht.save ( fn.getBufStart() , "crctable.dat" ); return true; }
// // . new code for saving hashtablex in a thread // . so Process.cpp's call to g_spiderCache.save() can save the doleiptable // without blocking... // static void *saveWrapper ( void *state , class ThreadEntry *t ) { // get this class HashTableX *THIS = (HashTableX *)state; // this returns false and sets g_errno on error THIS->save( THIS->m_dir , THIS->m_filename , THIS->m_tbuf , THIS->m_tsize ); // now exit the thread, bogus return return NULL; }