From e51388b0dfdbc797ba97c8db70df8cde9b0c57de Mon Sep 17 00:00:00 2001 From: owent Date: Mon, 12 Jun 2023 16:08:24 +0800 Subject: [PATCH] Fix OTLP HTTP exporting in sync mode. Signed-off-by: owent --- exporters/otlp/src/otlp_http_client.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/exporters/otlp/src/otlp_http_client.cc b/exporters/otlp/src/otlp_http_client.cc index efb60ff982..44c154f725 100644 --- a/exporters/otlp/src/otlp_http_client.cc +++ b/exporters/otlp/src/otlp_http_client.cc @@ -712,12 +712,13 @@ OtlpHttpClient::OtlpHttpClient(OtlpHttpClientOptions &&options, opentelemetry::sdk::common::ExportResult OtlpHttpClient::Export( const google::protobuf::Message &message) noexcept { - opentelemetry::sdk::common::ExportResult session_result = - opentelemetry::sdk::common::ExportResult::kSuccess; + std::shared_ptr session_result = + std::make_shared( + opentelemetry::sdk::common::ExportResult::kSuccess); opentelemetry::sdk::common::ExportResult export_result = Export( message, - [&session_result](opentelemetry::sdk::common::ExportResult result) { - session_result = result; + [session_result](opentelemetry::sdk::common::ExportResult result) { + *session_result = result; return result == opentelemetry::sdk::common::ExportResult::kSuccess; }, 0); @@ -727,7 +728,7 @@ opentelemetry::sdk::common::ExportResult OtlpHttpClient::Export( return export_result; } - return session_result; + return *session_result; } sdk::common::ExportResult OtlpHttpClient::Export(