summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorManoj Kumar AVM <manojavm@codeaurora.org>2015-06-12 17:44:06 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-06-12 17:44:06 +0000
commitf1bc814276fcddf256f992b11604ec76783f5321 (patch)
tree8b6b4162e54b8cf00e697202e316c9e0b22e250e /services
parentd8fc6824efb3699014a491efd340f9120afb93a2 (diff)
parent407f48c825351e7b5cbf455a85aff2154c696fdd (diff)
downloadframeworks_native-f1bc814276fcddf256f992b11604ec76783f5321.zip
frameworks_native-f1bc814276fcddf256f992b11604ec76783f5321.tar.gz
frameworks_native-f1bc814276fcddf256f992b11604ec76783f5321.tar.bz2
am 407f48c8: am e04e4edc: sf: Fix incorrect state reporting in dumpsys
* commit '407f48c825351e7b5cbf455a85aff2154c696fdd': sf: Fix incorrect state reporting in dumpsys
Diffstat (limited to 'services')
-rw-r--r--services/surfaceflinger/DisplayHardware/HWComposer.cpp2
-rw-r--r--services/surfaceflinger/DisplayHardware/HWComposer.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 02c31ff..2dad005 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -635,6 +635,7 @@ status_t HWComposer::setFramebufferTarget(int32_t id,
}
status_t HWComposer::prepare() {
+ Mutex::Autolock _l(mDisplayLock);
for (size_t i=0 ; i<mNumDisplays ; i++) {
DisplayData& disp(mDisplayData[i]);
if (disp.framebufferTarget) {
@@ -1145,6 +1146,7 @@ static String8 getFormatStr(PixelFormat format) {
}
void HWComposer::dump(String8& result) const {
+ Mutex::Autolock _l(mDisplayLock);
if (mHwc) {
result.appendFormat("Hardware Composer state (version %08x):\n", hwcApiVersion(mHwc));
result.appendFormat(" mDebugForceFakeVSync=%d\n", mDebugForceFakeVSync);
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.h b/services/surfaceflinger/DisplayHardware/HWComposer.h
index 28d8c65..cc98b4c 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.h
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.h
@@ -354,6 +354,8 @@ private:
// mLists[i>0] can be NULL. that display is to be ignored
struct hwc_display_contents_1* mLists[MAX_HWC_DISPLAYS];
DisplayData mDisplayData[MAX_HWC_DISPLAYS];
+ // protect mDisplayData from races between prepare and dump
+ mutable Mutex mDisplayLock;
size_t mNumDisplays;
cb_context* mCBContext;