Loading fs_mgr/libsnapshot/snapuserd/snapuserd.rc +3 −0 Original line number Diff line number Diff line Loading @@ -14,3 +14,6 @@ service snapuserd_proxy /system/bin/snapuserd -socket-handoff user root group root system seclabel u:r:snapuserd:s0 on property:init.svc.snapuserd=stopped setprop snapuserd.ready false fs_mgr/libsnapshot/snapuserd/snapuserd_client.cpp +8 −6 Original line number Diff line number Diff line Loading @@ -42,15 +42,17 @@ using namespace std::chrono_literals; using android::base::unique_fd; bool EnsureSnapuserdStarted() { if (android::base::GetProperty("init.svc.snapuserd", "") == "running") { return true; } if (android::base::GetProperty("init.svc.snapuserd", "") != "running") { android::base::SetProperty("ctl.start", "snapuserd"); if (!android::base::WaitForProperty("init.svc.snapuserd", "running", 10s)) { LOG(ERROR) << "Timed out waiting for snapuserd to start."; return false; } } if (!android::base::WaitForProperty("snapuserd.ready", "true", 10s)) { LOG(ERROR) << "Timed out waiting for snapuserd to be ready."; return false; } return true; } Loading fs_mgr/libsnapshot/snapuserd/snapuserd_server.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,14 @@ bool SnapuserdServer::StartWithSocket(bool start_listening) { AddWatchedFd(sockfd_, POLLIN); // If started in first-stage init, the property service won't be online. if (access("/dev/socket/property_service", F_OK) == 0) { if (!android::base::SetProperty("snapuserd.ready", "true")) { LOG(ERROR) << "Failed to set snapuserd.ready property"; return false; } } LOG(DEBUG) << "Snapuserd server now accepting connections"; return true; } Loading Loading
fs_mgr/libsnapshot/snapuserd/snapuserd.rc +3 −0 Original line number Diff line number Diff line Loading @@ -14,3 +14,6 @@ service snapuserd_proxy /system/bin/snapuserd -socket-handoff user root group root system seclabel u:r:snapuserd:s0 on property:init.svc.snapuserd=stopped setprop snapuserd.ready false
fs_mgr/libsnapshot/snapuserd/snapuserd_client.cpp +8 −6 Original line number Diff line number Diff line Loading @@ -42,15 +42,17 @@ using namespace std::chrono_literals; using android::base::unique_fd; bool EnsureSnapuserdStarted() { if (android::base::GetProperty("init.svc.snapuserd", "") == "running") { return true; } if (android::base::GetProperty("init.svc.snapuserd", "") != "running") { android::base::SetProperty("ctl.start", "snapuserd"); if (!android::base::WaitForProperty("init.svc.snapuserd", "running", 10s)) { LOG(ERROR) << "Timed out waiting for snapuserd to start."; return false; } } if (!android::base::WaitForProperty("snapuserd.ready", "true", 10s)) { LOG(ERROR) << "Timed out waiting for snapuserd to be ready."; return false; } return true; } Loading
fs_mgr/libsnapshot/snapuserd/snapuserd_server.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -291,6 +291,14 @@ bool SnapuserdServer::StartWithSocket(bool start_listening) { AddWatchedFd(sockfd_, POLLIN); // If started in first-stage init, the property service won't be online. if (access("/dev/socket/property_service", F_OK) == 0) { if (!android::base::SetProperty("snapuserd.ready", "true")) { LOG(ERROR) << "Failed to set snapuserd.ready property"; return false; } } LOG(DEBUG) << "Snapuserd server now accepting connections"; return true; } Loading