void DBConnectionPool::flush(){ boostlock L(poolMutex); for ( map<string,PoolForHost*>::iterator i = pools.begin(); i != pools.end(); i++ ){ PoolForHost* p = i->second; vector<DBClientBase*> all; while ( ! p->pool.empty() ){ DBClientBase * c = p->pool.front(); p->pool.pop(); all.push_back( c ); bool res; c->isMaster( res ); } for ( vector<DBClientBase*>::iterator i=all.begin(); i != all.end(); i++ ){ p->pool.push( *i ); } } }