)]}'
{
  "commit": "cb7dd008877ec881dc25d7c941bda802a0b467ff",
  "tree": "4e07a58f6a85400851211a4750fc2940fe7b6929",
  "parents": [
    "c4f335d6f4b00bac3fde8c439bcc363dff0a77ac"
  ],
  "author": {
    "name": "Yiwei Zhang",
    "email": "zzyiwei@google.com",
    "time": "Tue Apr 16 11:03:01 2019 -0700"
  },
  "committer": {
    "name": "Yiwei Zhang",
    "email": "zzyiwei@google.com",
    "time": "Tue Apr 16 11:20:44 2019 -0700"
  },
  "message": "TimeStats: fix a racing case\n\nsetPostTime is plumbed without BufferQueue lock, and it\u0027s called at the\nend of queueBuffer. If the addAndGetFrameTimestamps is delayed by\nqueueBuffer back pressure (this could happen on special SF/BQ configs),\nsetAcquireFence will be called with a out-of-bound index internally.\n\nSo this change will tweak the order of the back Pressure logic to make\nthe post time correct when queueBuffer back pressure happens as well as\nguarding the TimeStats more strictly.\n\nBug: 130515827\nTest: all SurfaceFlinger tests\nChange-Id: I2eace6d8693cc647284de0f33e7b58a6bf79eaaf\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4ff69c57cebe0ab9cf46851754887586e197e314",
      "old_mode": 33188,
      "old_path": "libs/gui/BufferQueueProducer.cpp",
      "new_id": "c94c6b31c6ccef03326c101f62e8c2fde4391955",
      "new_mode": 33188,
      "new_path": "libs/gui/BufferQueueProducer.cpp"
    },
    {
      "type": "modify",
      "old_id": "78c6e74150ddad6eee88dfba5a5d329757473126",
      "old_mode": 33188,
      "old_path": "services/surfaceflinger/TimeStats/TimeStats.cpp",
      "new_id": "740099e350d38e2cd68f66d73875b9b85ee86f64",
      "new_mode": 33188,
      "new_path": "services/surfaceflinger/TimeStats/TimeStats.cpp"
    }
  ]
}
