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

Commit 42dc8010 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by android-build-merger
Browse files

Merge changes I6fdc87e8,I91b060b2

am: 85c5fc41

* commit '85c5fc41':
  logd: check return values
  logd: clarify release_Locked() for static analyzer
parents be44dba8 85c5fc41
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -90,7 +90,7 @@ void LogTimeEntry::threadStop(void *obj) {
        while(it != times.end()) {
            if (*it == me) {
                times.erase(it);
                me->release_Locked();
                me->release_nodelete_Locked();
                break;
            }
            it++;
+7 −1
Original line number Diff line number Diff line
@@ -75,7 +75,13 @@ public:
    void triggerSkip_Locked(log_id_t id, unsigned int skip) { skipAhead[id] = skip; }
    void cleanSkip_Locked(void);

    // Called after LogTimeEntry removed from list, lock implicitly held
    // These called after LogTimeEntry removed from list, lock implicitly held
    void release_nodelete_Locked(void) {
        mRelease = true;
        pthread_cond_signal(&threadTriggeredCondition);
        // assumes caller code path will call decRef_Locked()
    }

    void release_Locked(void) {
        mRelease = true;
        pthread_cond_signal(&threadTriggeredCondition);
+6 −3
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@ bool property_get_bool(const char *key, int flag) {
        char newkey[PROPERTY_KEY_MAX];
        snprintf(newkey, sizeof(newkey), "ro.%s", key);
        property_get(newkey, property, "");
        // persist properties set by /data require innoculation with
        // persist properties set by /data require inoculation with
        // logd-reinit. They may be set in init.rc early and function, but
        // otherwise are defunct unless reset. Do not rely on persist
        // properties for startup-only keys unless you are willing to restart
@@ -265,8 +265,11 @@ static void *reinit_thread_start(void * /*obj*/) {
    set_sched_policy(0, SP_BACKGROUND);
    setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND);

    setgid(AID_SYSTEM);
    setuid(AID_SYSTEM);
    // If we are AID_ROOT, we should drop to AID_SYSTEM, if we are anything
    // else, we have even lesser privileges and accept our fate. Not worth
    // checking for error returns setting this thread's privileges.
    (void)setgid(AID_SYSTEM);
    (void)setuid(AID_SYSTEM);

    while (reinit_running && !sem_wait(&reinit) && reinit_running) {