Fix potential deadlock in stopPreview/stopRecord.

Some camera HALs spin up a preview thread and need to wait for
the thread to exit. This can create a potential deadlock. In
stopPreview, we take the main lock. If a preview callback occurs
while the lock is held, the preview thread will block. If the
camera HAL is waiting for the preview thread to exit, this will
cause a deadlock.

This patch breaks out the preview buffer heap into a separate
mutex. This mutex is never held when the main lock is held, thus
preventing the deadlock from occuring.
2 files changed
tree: a9acd18ab5526d297928f96c094ca22eaa33e593
  1. awt/
  2. camera/
  3. cmds/
  4. include/
  5. libs/
  6. opengl/
  7. vpn/
  8. MODULE_LICENSE_APACHE2
  9. NOTICE