std::unordered_map<uid_t, std::unique_ptr<DBHandleProvider>>
DBHandleProvider::provider_;
bool DBHandleProvider::is_memory_ = false;
+std::vector<pid_t> DBHandleProvider::pid_list_;
DBHandleProvider::DBHandleProvider(uid_t uid) : uid_(uid),
global_parser_memory_db_handle_(nullptr, sqlite3_close_v2),
cert_memory_db_path_);
if (cert_db != nullptr)
cert_memory_db_handle_.reset(cert_db);
+ std::vector<pid_t>::iterator it =
+ std::find(pid_list_.begin(), pid_list_.end(), pid);
+
+ if (it == pid_list_.end())
+ pid_list_.emplace_back(pid);
} else {
parser_memory_db_handle_.reset(nullptr);
cert_memory_db_handle_.reset(nullptr);
std::string cert_memory_db_path_;
std::string cert_file_db_path_;
static bool is_memory_;
- std::vector<pid_t> pid_list_;
+ static std::vector<pid_t> pid_list_;
std::mutex lock_;
};
}
try {
+ handler[type]->SetPID(req->GetSenderPID());
if (!handler[type]->HandleRequest(req->GetData(), req->GetSize(),
locale_.GetObject()))
LOGE("Failed to handle request");