- vector<Client *> to_process;
- swap(sleeping_clients, to_process);
- for (unsigned i = 0; i < to_process.size(); ++i) {
- process_client(to_process[i]);
+ if (to_process.empty()) {
+ swap(sleeping_clients, to_process);
+ } else {
+ to_process.insert(to_process.end(), sleeping_clients.begin(), sleeping_clients.end());
+ sleeping_clients.clear();