summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--storage/src/vespa/storage/distributor/externaloperationhandler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/storage/src/vespa/storage/distributor/externaloperationhandler.cpp b/storage/src/vespa/storage/distributor/externaloperationhandler.cpp
index 3f3924df229..9ce8d871fc3 100644
--- a/storage/src/vespa/storage/distributor/externaloperationhandler.cpp
+++ b/storage/src/vespa/storage/distributor/externaloperationhandler.cpp
@@ -97,9 +97,9 @@ ExternalOperationHandler::~ExternalOperationHandler() = default;
bool
ExternalOperationHandler::handleMessage(const std::shared_ptr<api::StorageMessage>& msg, Operation::SP& op)
{
- _op = Operation::SP();
+ _op.reset();
bool retVal = msg->callHandler(*this, msg);
- op = _op;
+ op = std::move(_op); // Don't maintain any strong refs in _op after we've passed it on.
return retVal;
}