deletebackend.cc (468B)
1 #include "balancer" 2 3 void Balancer::deletebackend(unsigned i) { 4 if (backend(i).up()) 5 throw Error("Only 'down' back ends can be deleted."); 6 if (backend(i).connections()) { 7 ostringstream o; 8 o << "Back end cannot be deleted, there are still " 9 << backend(i).connections() << " connections"; 10 throw Error(o.str()); 11 } 12 13 int lock; 14 mutex_lock(&lock); 15 backends.erase(backends.begin() + i, 16 backends.begin() + i + 1); 17 mutex_unlock(&lock); 18 }