From 4ea38c308da292f43e29d32b1b53b7324db0bafe Mon Sep 17 00:00:00 2001 From: Andy Schwerin Date: Fri, 22 May 2015 15:24:52 -0400 Subject: SERVER-14995 Move operation id, lockState and client fields to OperationContext. They have been moved from OperationContextImpl. Furthermore, the CurOp stack is now attached to OperationContext, instead of Client. With this change, an operation's lifetime is governed by the lifetime of an OperationContext object. The "_active" field of CurOp is therefore no longer meaingful. This required fixing the lifetime of OperationContext in a few places. A future change will adjust operation lifetime timing to time the lifetime of the OperationContext object, as well. --- src/mongo/db/service_context_noop.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/mongo/db/service_context_noop.cpp') diff --git a/src/mongo/db/service_context_noop.cpp b/src/mongo/db/service_context_noop.cpp index 47c3efe8797..87bff0c7932 100644 --- a/src/mongo/db/service_context_noop.cpp +++ b/src/mongo/db/service_context_noop.cpp @@ -32,6 +32,7 @@ #include "mongo/db/operation_context_noop.h" #include "mongo/db/op_observer.h" +#include "mongo/stdx/memory.h" namespace mongo { @@ -81,8 +82,8 @@ namespace mongo { void ServiceContextNoop::registerKillOpListener(KillOpListenerInterface* listener) { } - OperationContext* ServiceContextNoop::newOpCtx() { - return new OperationContextNoop(); + std::unique_ptr ServiceContextNoop::newOpCtx() { + return stdx::make_unique(); } void ServiceContextNoop::setOpObserver(std::unique_ptr opObserver) { -- cgit v1.2.1