diff options
author | Glenn Kasten <gkasten@google.com> | 2013-04-19 16:23:42 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-04-19 16:23:43 +0000 |
commit | dbe60357db3be0fd6268ce777647733c3383aa72 (patch) | |
tree | 943703565f95f9f40ef147b4651a4f7609886177 | |
parent | 2c157e0f127f36b4c709508f899c2a9f32ba3bd4 (diff) | |
parent | 949a926cadbc961fbb649c91d76d7aee8ea4d7bd (diff) | |
download | frameworks_av-dbe60357db3be0fd6268ce777647733c3383aa72.zip frameworks_av-dbe60357db3be0fd6268ce777647733c3383aa72.tar.gz frameworks_av-dbe60357db3be0fd6268ce777647733c3383aa72.tar.bz2 |
Merge "Use correct pid when running under test harness" into jb-mr2-dev
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 1 | ||||
-rw-r--r-- | services/audioflinger/ServiceUtilities.cpp | 5 | ||||
-rw-r--r-- | services/audioflinger/ServiceUtilities.h | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index b3de526..87eb6aa 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -143,6 +143,7 @@ AudioFlinger::AudioFlinger() mMode(AUDIO_MODE_INVALID), mBtNrecIsOff(false) { + getpid_cached = getpid(); char value[PROPERTY_VALUE_MAX]; bool doLog = (property_get("ro.test_harness", value, "0") > 0) && (atoi(value) == 1); if (doLog) { diff --git a/services/audioflinger/ServiceUtilities.cpp b/services/audioflinger/ServiceUtilities.cpp index 6a58852..d15bd04 100644 --- a/services/audioflinger/ServiceUtilities.cpp +++ b/services/audioflinger/ServiceUtilities.cpp @@ -21,8 +21,9 @@ namespace android { -// This optimization assumes mediaserver process doesn't fork, which it doesn't -const pid_t getpid_cached = getpid(); +// Not valid until initialized by AudioFlinger constructor. It would have to be +// re-initialized if the process containing AudioFlinger service forks (which it doesn't). +pid_t getpid_cached; bool recordingAllowed() { if (getpid_cached == IPCThreadState::self()->getCallingPid()) return true; diff --git a/services/audioflinger/ServiceUtilities.h b/services/audioflinger/ServiceUtilities.h index f77ec5b..80cecba 100644 --- a/services/audioflinger/ServiceUtilities.h +++ b/services/audioflinger/ServiceUtilities.h @@ -18,7 +18,7 @@ namespace android { -extern const pid_t getpid_cached; +extern pid_t getpid_cached; bool recordingAllowed(); bool settingsAllowed(); |