Do not try to connect to heapprofd.
We now check profileability before sending the signal.
Change-Id: I413bf076d79e4c3dfababac08af608da39f0f156
diff --git a/perfetto_hprof/perfetto_hprof.cc b/perfetto_hprof/perfetto_hprof.cc
index c718cc0..a5ed2da 100644
--- a/perfetto_hprof/perfetto_hprof.cc
+++ b/perfetto_hprof/perfetto_hprof.cc
@@ -152,20 +152,6 @@
return false;
}
-bool CanConnectToSocket(const char* name) {
- struct sockaddr_un addr = {};
- addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, name, sizeof(addr.sun_path) - 1);
- int fd = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0);
- if (fd == -1) {
- PLOG(ERROR) << "failed to create socket";
- return false;
- }
- bool connected = connect(fd, reinterpret_cast<struct sockaddr*>(&addr), sizeof(addr)) == 0;
- close(fd);
- return connected;
-}
-
constexpr size_t kMaxCmdlineSize = 512;
class JavaHprofDataSource : public perfetto::DataSource<JavaHprofDataSource> {
@@ -188,12 +174,6 @@
new perfetto::protos::pbzero::JavaHprofConfig::Decoder(
args.config->java_hprof_config_raw()));
- if (args.config->enable_extra_guardrails() && !CanConnectToSocket("/dev/socket/heapprofd")) {
- LOG(ERROR) << "rejecting extra guardrails";
- enabled_ = false;
- return;
- }
-
dump_smaps_ = cfg->dump_smaps();
for (auto it = cfg->ignored_types(); it; ++it) {
std::string name = (*it).ToStdString();