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

Commit 17cae643 authored by Steven Moreland's avatar Steven Moreland Committed by Automerger Merge Worker
Browse files

Merge "servicemanager started property" am: f4dee55a am: 8be057ee

parents ec1bdce8 8be057ee
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));