Merge changes I6fdc87e8,I91b060b2

* changes:
  logd: check return values
  logd: clarify release_Locked() for static analyzer
This commit is contained in:
Mark Salyzyn 2016-03-02 19:34:18 +00:00 committed by Gerrit Code Review
commit 85c5fc41de
3 changed files with 14 additions and 5 deletions

View File

@ -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++;

View File

@ -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);

View File

@ -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) {