Fix a race-condtion in SurfaceFlinger that could lead to a crash.

Client::mLayers could be accessed from different threads.
On one side from Client::attachLayer() which is currently
called from a binder thread; on the other side from
Client::detachLayer() which is always called from the main
thread.

This could lead to a corruption of Client::mLayers.

We fix this issue by adding an internal lock to Client.

Change-Id: Ib1317d7750ed5030e6f577efe34b69fc10198bd3
2 files changed
tree: a0a71ffb48dbe6daee69d6c4e906be2103303b52
  1. cmds/
  2. include/
  3. libs/
  4. opengl/
  5. services/
  6. vpn/
  7. MODULE_LICENSE_APACHE2
  8. NOTICE