This throws out the old contexts. We assume that the caller will not wait
for them.
Signed-off-by: Sage Weil <sage@newdream.net>
waiting_for_session.pop_front();
}
+ // throw out version check requests
+ while (!version_requests.empty()) {
+ version_requests.begin()->second->context->complete(-1); // watch out for deadlock
+ version_requests.erase(version_requests.begin());
+ }
+
// restart authentication handshake
state = MC_STATE_NEGOTIATING;
void Objecter::C_Op_Map_Latest::finish(int r)
{
+ if (r < 0)
+ return;
+
map<tid_t, Op*>::iterator iter =
objecter->check_latest_map_ops.find(tid);
if (iter == objecter->check_latest_map_ops.end()) {
void Objecter::C_Linger_Map_Latest::finish(int r)
{
+ if (r < 0)
+ return;
+
map<uint64_t, LingerOp*>::iterator iter =
objecter->check_latest_map_lingers.find(linger_id);
if (iter == objecter->check_latest_map_lingers.end()) {