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

Commit 49e5375b authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "Add memory leak detection to audioserver" into nyc-dev

parents 5b817c59 35fec5f6
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ LOCAL_SRC_FILES:= \
LOCAL_C_INCLUDES := \
    $(TOPDIR)frameworks/av/services/audiopolicy \
    $(TOPDIR)external/sonic \
    libcore/include \
    $(call include-path-for, audio-effects) \
    $(call include-path-for, audio-utils)

@@ -54,7 +55,8 @@ LOCAL_SHARED_LIBRARIES := \
    libpowermanager \
    libserviceutility \
    libsonic \
    libmediautils
    libmediautils \
    libmemunreachable

LOCAL_STATIC_LIBRARIES := \
    libcpustats \
+16 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include <utils/Log.h>
#include <utils/Trace.h>
#include <binder/Parcel.h>
#include <memunreachable/memunreachable.h>
#include <utils/String16.h>
#include <utils/threads.h>
#include <utils/Atomic.h>
@@ -462,6 +463,21 @@ status_t AudioFlinger::dump(int fd, const Vector<String16>& args)
                binder->dump(fd, args);
            }
        }

        // check for optional arguments
        bool unreachableMemory = false;
        for (const auto &arg : args) {
            if (arg == String16("--unreachable")) {
                unreachableMemory = true;
            }
        }

        if (unreachableMemory) {
            dprintf(fd, "\nDumping unreachable memory:\n");
            // TODO - should limit be an argument parameter?
            std::string s = GetUnreachableMemoryString(true /* contents */, 10000 /* limit */);
            write(fd, s.c_str(), s.size());
        }
    }
    return NO_ERROR;
}