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

Commit 4e67f589 authored by David Anderson's avatar David Anderson
Browse files

snapuserd: Use gflags for arguments.

This is in preparation for expanding the command-line features of
snapuserd.

Bug: N/A
Test: builds
Change-Id: Id33c4f190dc0f99cd436f0e9a6b1d6ee92e245e4
parent 42a04ac3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -423,10 +423,11 @@ cc_defaults {
        "libbase",
        "libbrotli",
        "libcutils_sockets",
        "liblog",
        "libdm",
        "libz",
        "libgflags",
        "liblog",
        "libsnapshot_cow",
        "libz",
    ],
}

+1 −1
Original line number Diff line number Diff line
@@ -169,7 +169,7 @@ void CowSnapuserdTest::StartSnapuserdDaemon() {
    ASSERT_GE(pid, 0);
    if (pid == 0) {
        std::string arg0 = "/system/bin/snapuserd";
        std::string arg1 = kSnapuserdSocketTest;
        std::string arg1 = "-socket="s + kSnapuserdSocketTest;
        char* const argv[] = {arg0.data(), arg1.data(), nullptr};
        ASSERT_GE(execv(arg0.c_str(), argv), 0);
    } else {
+8 −8
Original line number Diff line number Diff line
@@ -17,19 +17,21 @@
#include "snapuserd_daemon.h"

#include <android-base/logging.h>
#include <gflags/gflags.h>
#include <libsnapshot/snapuserd_client.h>

#include "snapuserd_server.h"

DEFINE_string(socket, android::snapshot::kSnapuserdSocket, "Named socket or socket path.");

namespace android {
namespace snapshot {

bool Daemon::StartServer(const std::string& socketname) {
    if (!server_.Start(socketname)) {
void Daemon::StartServer() {
    if (!server_.Start(FLAGS_socket)) {
        LOG(ERROR) << "Snapuserd daemon failed to start...";
        exit(EXIT_FAILURE);
    }
    return true;
}

void Daemon::MaskAllSignalsExceptIntAndTerm() {
@@ -99,11 +101,9 @@ int main([[maybe_unused]] int argc, char** argv) {

    android::snapshot::Daemon& daemon = android::snapshot::Daemon::Instance();

    std::string socket = android::snapshot::kSnapuserdSocket;
    if (argc >= 2) {
        socket = argv[1];
    }
    daemon.StartServer(socket);
    gflags::ParseCommandLineFlags(&argc, &argv, false);

    daemon.StartServer();
    daemon.Run();

    return 0;
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ class Daemon {
        return instance;
    }

    bool StartServer(const std::string& socketname);
    void StartServer();
    void Run();
    void Interrupt();