Move waiter check above close_object(ob) call.
Object *ob = objects[oid];
list<Context*> ls;
+
+ // waiters?
+ if (ob->waitfor_ack.count(tid)) {
+ ls.splice(ls.end(), ob->waitfor_ack[tid]);
+ ob->waitfor_ack.erase(tid);
+ }
assert(tid <= ob->last_write_tid);
if (ob->last_write_tid == tid) {
<< " tid " << tid << " obsolete" << dendl;
}
- // waiters?
- if (ob->waitfor_ack.count(tid)) {
- ls.splice(ls.end(), ob->waitfor_ack[tid]);
- ob->waitfor_ack.erase(tid);
- }
-
finish_contexts(ls);
}