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

Commit 85c5fc41 authored by Mark Salyzyn's avatar Mark Salyzyn Committed by Gerrit Code Review
Browse files

Merge changes I6fdc87e8,I91b060b2

* changes:
  logd: check return values
  logd: clarify release_Locked() for static analyzer
parents d1ec9c45 bf7d0b88
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -90,7 +90,7 @@ void LogTimeEntry::threadStop(void *obj) {
        while(it != times.end()) {
        while(it != times.end()) {
            if (*it == me) {
            if (*it == me) {
                times.erase(it);
                times.erase(it);
                me->release_Locked();
                me->release_nodelete_Locked();
                break;
                break;
            }
            }
            it++;
            it++;
+7 −1
Original line number Original line Diff line number Diff line
@@ -75,7 +75,13 @@ public:
    void triggerSkip_Locked(log_id_t id, unsigned int skip) { skipAhead[id] = skip; }
    void triggerSkip_Locked(log_id_t id, unsigned int skip) { skipAhead[id] = skip; }
    void cleanSkip_Locked(void);
    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) {
    void release_Locked(void) {
        mRelease = true;
        mRelease = true;
        pthread_cond_signal(&threadTriggeredCondition);
        pthread_cond_signal(&threadTriggeredCondition);
+6 −3
Original line number Original line Diff line number Diff line
@@ -165,7 +165,7 @@ bool property_get_bool(const char *key, int flag) {
        char newkey[PROPERTY_KEY_MAX];
        char newkey[PROPERTY_KEY_MAX];
        snprintf(newkey, sizeof(newkey), "ro.%s", key);
        snprintf(newkey, sizeof(newkey), "ro.%s", key);
        property_get(newkey, property, "");
        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
        // logd-reinit. They may be set in init.rc early and function, but
        // otherwise are defunct unless reset. Do not rely on persist
        // otherwise are defunct unless reset. Do not rely on persist
        // properties for startup-only keys unless you are willing to restart
        // 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);
    set_sched_policy(0, SP_BACKGROUND);
    setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND);
    setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_BACKGROUND);


    setgid(AID_SYSTEM);
    // If we are AID_ROOT, we should drop to AID_SYSTEM, if we are anything
    setuid(AID_SYSTEM);
    // 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) {
    while (reinit_running && !sem_wait(&reinit) && reinit_running) {