diff options
| author | 2017-04-05 16:46:49 -0700 | |
|---|---|---|
| committer | 2017-04-11 13:38:32 -0700 | |
| commit | 8d6c16dc3dc8b88a0046f53668a4e3be074507ff (patch) | |
| tree | 6004f7338f37a9256c6392459c95e4a8e90aa88d /libs/gui/BufferQueue.cpp | |
| parent | 273e144215bbe3042686577032e584c4ec701447 (diff) | |
Avoid a potential race condition on mDisplays
Update: The HWC1 path needed to be updated in light of a change to
SurfaceFlinger.h. The build now works for both paths.
Original Message:
The race could occur when transitioning in/out of VR flinger mode.
It is now avoided by ensuring that the primary |DisplayDevice| is always
created once |mStateLock| is released, and ensuring that all accesses
to the primary |DisplayDevice| are guarded by |mStateLock|.
Bug: 36194616
Bug: 37249613
Test: Compiled for both HWC1 and HWC2 surface flinger builds.
Normal behavior is unchanged. Explicitly testing the race
condition required instrumenting code with sleep statements.
Change-Id: I0b00e857a3b2fd01948a888db2f0715d2a8204c1
Diffstat (limited to 'libs/gui/BufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions