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

Commit f4dee55a authored by Steven Moreland's avatar Steven Moreland Committed by Gerrit Code Review
Browse files

Merge "servicemanager started property"

parents dbbf3d24 454bfd9e
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */

#include <android-base/logging.h>
#include <android-base/properties.h>
#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
#include <binder/Status.h>
@@ -26,15 +27,14 @@
#include "ServiceManager.h"

using ::android::Access;
using ::android::sp;
using ::android::IPCThreadState;
using ::android::Looper;
using ::android::LooperCallback;
using ::android::ProcessState;
using ::android::IPCThreadState;
using ::android::ProcessState;
using ::android::ServiceManager;
using ::android::os::IServiceManager;
using ::android::sp;
using ::android::base::SetProperty;
using ::android::os::IServiceManager;

class BinderCallback : public LooperCallback {
public:
@@ -140,6 +140,12 @@ int main(int argc, char** argv) {
    BinderCallback::setupTo(looper);
    ClientCallbackCallback::setupTo(looper, manager);

#ifndef VENDORSERVICEMANAGER
    if (!SetProperty("servicemanager.ready", "true")) {
        LOG(ERROR) << "Failed to set servicemanager ready property";
    }
#endif

    while(true) {
        looper->pollAll(-1);
    }
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ service servicemanager /system/bin/servicemanager.microdroid
    user system
    group system readproc
    critical
    onrestart setprop servicemanager.ready false
    onrestart restart apexd
    task_profiles ServiceCapacityLow
    shutdown critical
+1 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@ service servicemanager /system/bin/servicemanager
    user system
    group system readproc
    critical
    onrestart setprop servicemanager.ready false
    onrestart restart apexd
    onrestart restart audioserver
    onrestart restart gatekeeperd
+1 −0
Original line number Diff line number Diff line
service servicemanager /system/bin/servicemanager
    disabled
    group system readproc
    onrestart setprop servicemanager.ready false
    seclabel u:r:servicemanager:s0
+11 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
#include <inttypes.h>
#include <unistd.h>

#include <android-base/properties.h>
#include <android/os/BnServiceCallback.h>
#include <android/os/IServiceManager.h>
#include <binder/IPCThreadState.h>
@@ -140,6 +141,16 @@ protected:
sp<IServiceManager> defaultServiceManager()
{
    std::call_once(gSmOnce, []() {
#if defined(__BIONIC__) && !defined(__ANDROID_VNDK__)
        /* wait for service manager */ {
            using std::literals::chrono_literals::operator""s;
            using android::base::WaitForProperty;
            while (!WaitForProperty("servicemanager.ready", "true", 1s)) {
                ALOGE("Waited for servicemanager.ready for a second, waiting another...");
            }
        }
#endif

        sp<AidlServiceManager> sm = nullptr;
        while (sm == nullptr) {
            sm = interface_cast<AidlServiceManager>(ProcessState::self()->getContextObject(nullptr));