{
Mutex::Locker l(lock);
- return all.at(key);
+ auto iter = all.find(key);
+ if (iter != all.end()) {
+ return iter->second;
+ } else {
+ return nullptr;
+ }
}
void DaemonStateIndex::cull(const std::string& svc_name,
f.open_array_section(path.c_str());
auto metadata = daemon_state.get(DaemonKey(svc_name, svc_id));
-
- Mutex::Locker l2(metadata->lock);
if (metadata) {
+ Mutex::Locker l2(metadata->lock);
if (metadata->perf_counters.instances.count(path)) {
auto counter_instance = metadata->perf_counters.instances.at(path);
const auto &data = counter_instance.get_data();
} else {
auto key = DaemonKey(svc_type, svc_id);
// so that the below can be a loop in all cases
- if (daemon_state.exists(key)) {
- states[key] = daemon_state.get(key);
+ auto got = daemon_state.get(key);
+ if (got != nullptr) {
+ states[key] = got;
}
}