diff options
author | Manoj Kumar AVM <manojavm@codeaurora.org> | 2015-06-12 17:44:06 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-06-12 17:44:06 +0000 |
commit | f1bc814276fcddf256f992b11604ec76783f5321 (patch) | |
tree | 8b6b4162e54b8cf00e697202e316c9e0b22e250e /services | |
parent | d8fc6824efb3699014a491efd340f9120afb93a2 (diff) | |
parent | 407f48c825351e7b5cbf455a85aff2154c696fdd (diff) | |
download | frameworks_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.cpp | 2 | ||||
-rw-r--r-- | services/surfaceflinger/DisplayHardware/HWComposer.h | 2 |
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; |