summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/ServiceUtilities.cpp
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-04-16 12:35:20 -0700
committerGlenn Kasten <gkasten@google.com>2013-04-18 16:25:14 -0700
commit949a926cadbc961fbb649c91d76d7aee8ea4d7bd (patch)
treee90ad4773399fb206886eb236919fa78d7670cd2 /services/audioflinger/ServiceUtilities.cpp
parent64595e6727c478d3d80c7babbecdb470398f8c42 (diff)
downloadframeworks_av-949a926cadbc961fbb649c91d76d7aee8ea4d7bd.zip
frameworks_av-949a926cadbc961fbb649c91d76d7aee8ea4d7bd.tar.gz
frameworks_av-949a926cadbc961fbb649c91d76d7aee8ea4d7bd.tar.bz2
Use correct pid when running under test harness
This is a partial fix which addresses one of the root causes of this bug, but only when running under test harness. It has no effect otherwise. Bug: 8598539 Change-Id: I87444daef1d76b17544f331e651ba1c87893c381
Diffstat (limited to 'services/audioflinger/ServiceUtilities.cpp')
-rw-r--r--services/audioflinger/ServiceUtilities.cpp5
1 files changed, 3 insertions, 2 deletions
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;