diff options
Diffstat (limited to 'src/mongo/db/exec/update.cpp')
-rw-r--r-- | src/mongo/db/exec/update.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/db/exec/update.cpp b/src/mongo/db/exec/update.cpp index 60e081322ed..83f07245294 100644 --- a/src/mongo/db/exec/update.cpp +++ b/src/mongo/db/exec/update.cpp @@ -643,7 +643,7 @@ PlanStage::StageState UpdateStage::doWork(WorkingSetID* out) { // We want to free this member when we return, unless we need to retry updating or returning // it. - ScopeGuard memberFreer = MakeGuard(&WorkingSet::free, _ws, id); + auto memberFreer = makeGuard([&] { _ws->free(id); }); invariant(member->hasRecordId()); recordId = member->recordId; @@ -666,7 +666,7 @@ PlanStage::StageState UpdateStage::doWork(WorkingSetID* out) { collection(), getOpCtx(), _ws, id, _params.canonicalQuery); } catch (const WriteConflictException&) { // There was a problem trying to detect if the document still exists, so retry. - memberFreer.Dismiss(); + memberFreer.dismiss(); return prepareToRetryWSM(id, out); } @@ -702,7 +702,7 @@ PlanStage::StageState UpdateStage::doWork(WorkingSetID* out) { // Do the update, get us the new version of the doc. newObj = transformAndUpdate(member->obj, recordId); } catch (const WriteConflictException&) { - memberFreer.Dismiss(); // Keep this member around so we can retry updating it. + memberFreer.dismiss(); // Keep this member around so we can retry updating it. return prepareToRetryWSM(id, out); } @@ -738,7 +738,7 @@ PlanStage::StageState UpdateStage::doWork(WorkingSetID* out) { _idReturning = id; // Keep this member around so that we can return it on the next work() call. - memberFreer.Dismiss(); + memberFreer.dismiss(); } *out = WorkingSet::INVALID_ID; return NEED_YIELD; @@ -748,7 +748,7 @@ PlanStage::StageState UpdateStage::doWork(WorkingSetID* out) { // member->obj should refer to the document we want to return. invariant(member->getState() == WorkingSetMember::OWNED_OBJ); - memberFreer.Dismiss(); // Keep this member around so we can return it. + memberFreer.dismiss(); // Keep this member around so we can return it. *out = id; return PlanStage::ADVANCED; } |