Commit f5899cff authored by Toni Barzic's avatar Toni Barzic Committed by Commit Bot

Fix SingleProcessMemoryTracingTest

Active service pid should be unregistered from perfetto service when
initial connection to traced process fails only if there are no existing
connections to the process (in which case the disconnect will get
handled by perfetto service).

BUG=1113469

Change-Id: I4746bf1360f89881c6963c5f9e1eef0859107fbd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2341144
Commit-Queue: Toni Baržić <tbarzic@chromium.org>
Reviewed-by: default avatarSami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#796159}
parent 934c79e7
......@@ -125,6 +125,15 @@ void PerfettoService::RemoveActiveServicePid(base::ProcessId pid) {
}
}
void PerfettoService::RemoveActiveServicePidIfNoActiveConnections(
base::ProcessId pid) {
const auto num_connections_it = num_active_connections_.find(pid);
if (num_connections_it == num_active_connections_.end() ||
num_connections_it->second == 0) {
RemoveActiveServicePid(pid);
}
}
void PerfettoService::SetActiveServicePidsInitialized() {
active_service_pids_initialized_ = true;
for (auto* tracing_session : tracing_sessions_) {
......
......@@ -64,6 +64,7 @@ class PerfettoService : public mojom::PerfettoService {
// actively running services (whenever a service starts or stops).
void AddActiveServicePid(base::ProcessId pid);
void RemoveActiveServicePid(base::ProcessId pid);
void RemoveActiveServicePidIfNoActiveConnections(base::ProcessId pid);
void SetActiveServicePidsInitialized();
std::set<base::ProcessId> active_service_pids() const {
......
......@@ -16,7 +16,7 @@ namespace tracing {
namespace {
void OnProcessConnectFailed(PerfettoService* perfetto_service, uint32_t pid) {
perfetto_service->RemoveActiveServicePid(pid);
perfetto_service->RemoveActiveServicePidIfNoActiveConnections(pid);
}
void OnProcessConnected(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment