)]}'
{
  "commit": "05fd0df0f3ec71ec6ea874439feda960ef882d0b",
  "tree": "80289875489b6479d749267d5b45c8d5092ed7f7",
  "parents": [
    "ae0cf6dc9eb92282ef92b00ac68bfaca8aad2a1e"
  ],
  "author": {
    "name": "Dave Sparks",
    "email": "davidsparks@android.com",
    "time": "Tue Nov 10 17:08:08 2009 -0800"
  },
  "committer": {
    "name": "Dave Sparks",
    "email": "davidsparks@android.com",
    "time": "Tue Nov 10 17:08:08 2009 -0800"
  },
  "message": "Fix potential deadlock in stopPreview/stopRecord.\n\nSome camera HALs spin up a preview thread and need to wait for\nthe thread to exit. This can create a potential deadlock. In\nstopPreview, we take the main lock. If a preview callback occurs\nwhile the lock is held, the preview thread will block. If the\ncamera HAL is waiting for the preview thread to exit, this will\ncause a deadlock.\n\nThis patch breaks out the preview buffer heap into a separate\nmutex. This mutex is never held when the main lock is held, thus\npreventing the deadlock from occuring.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e54852446692ff8c17db6076c75a2e7bb8f49fa1",
      "old_mode": 33188,
      "old_path": "camera/libcameraservice/CameraService.cpp",
      "new_id": "df59dcff0b29e915c4cbb492d79948e264c1243e",
      "new_mode": 33188,
      "new_path": "camera/libcameraservice/CameraService.cpp"
    },
    {
      "type": "modify",
      "old_id": "41c5d99faaaaf6ad786e802d8846b16cd00a7967",
      "old_mode": 33188,
      "old_path": "camera/libcameraservice/CameraService.h",
      "new_id": "3e3e54f0a950de3fe90b31cc307e15c4fd9fc6a5",
      "new_mode": 33188,
      "new_path": "camera/libcameraservice/CameraService.h"
    }
  ]
}
