From 75714b4c08e42ec3963641edb68b694ab6cc5984 Mon Sep 17 00:00:00 2001 From: Yanqin Jin Date: Wed, 9 Jan 2019 15:51:02 -0800 Subject: [PATCH] Initialize two members in PerfContext (#4859) Summary: as titled. Currently it's possible to create a local object of type PerfContext since it's part of public API. Then it's safe to initialize the two members to 0. If PerfContext is created as thread-local object, then all members are zero-initialized according to C++ standard. Pull Request resolved: https://github.com/facebook/rocksdb/pull/4859 Differential Revision: D13614504 Pulled By: riversand963 fbshipit-source-id: 406ff548e105a074f379ad1054d56fece5f524a0 --- include/rocksdb/perf_context.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/rocksdb/perf_context.h b/include/rocksdb/perf_context.h index c0c0661b6..31740796c 100644 --- a/include/rocksdb/perf_context.h +++ b/include/rocksdb/perf_context.h @@ -211,8 +211,8 @@ struct PerfContext { uint64_t get_cpu_nanos; - std::map* level_to_perf_context; - bool per_level_perf_context_enabled; + std::map* level_to_perf_context = nullptr; + bool per_level_perf_context_enabled = false; }; // Get Thread-local PerfContext object pointer