Signed-off-by: Colin McCabe <colinm@hq.newdream.net>
dout(10) << "handle_log_ack " << *m << dendl;
version_t last = m->last;
- while (log_queue.size() && log_queue.begin()->seq <= last) {
- dout(10) << " logged " << log_queue.front() << dendl;
- log_queue.pop_front();
+
+ deque<LogEntry>::iterator q = log_queue.begin();
+ while (q != log_queue.end()) {
+ const LogEntry &entry(*q);
+ if (entry.seq > last)
+ break;
+ dout(10) << " logged " << entry << dendl;
+ q = log_queue.erase(q);
}
m->put();
}
bool is_synchronous;
Mutex log_lock;
version_t last_log;
- deque<LogEntry> log_queue;
+ std::deque<LogEntry> log_queue;
friend class LogClientTemp;
};