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

Commit 949a926c authored by Glenn Kasten's avatar Glenn Kasten
Browse files

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
parent 64595e67
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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) {
+3 −2
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@

namespace android {

extern const pid_t getpid_cached;
extern pid_t getpid_cached;

bool recordingAllowed();
bool settingsAllowed();