Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7038c239 authored by Alex Vakulenko's avatar Alex Vakulenko
Browse files

pdx_benchmarks: Let the service create sockets by itself

Default implementation of Endpoint::Create() takes the socket name
as provided by the init process when it forks. pdx_benchmark is not
a service but a command-line utility and it is being started manually
and not through init process. So, named sockets are not available.
Instead, it must create a socket by the specified name. For this,
it must use Endpoint::CreateAndBindSocket() method.

Bug: 37507039
Test: Tested manually on device: `pdx_benchmarks --service foo`.
Change-Id: If30bfa7138f5a97ba0bff9e61460c6bd3697ec19
parent d618b567
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -516,9 +516,8 @@ int ServiceCommand(const std::string& path) {
    std::cerr << "Starting service instance " << service_id_counter
              << std::endl;
    auto service = BenchmarkService::Create(
        android::pdx::default_transport::Endpoint::Create(
        android::pdx::default_transport::Endpoint::CreateAndBindSocket(
            GetServicePath(path, service_id_counter),
            android::pdx::default_transport::Endpoint::kDefaultMode,
            android::pdx::default_transport::Endpoint::kBlocking));
    if (!service) {
      std::cerr << "Failed to create service instance!!" << std::endl;