)]}'
{
  "commit": "8578d50d847b92c8de63d513ddf17557773a4751",
  "tree": "8a5d133f1c9c6dc833bfde097a8a033bc25835e0",
  "parents": [
    "0445442a6aaa5215f3ec149ca1f7eae28f4c1303"
  ],
  "author": {
    "name": "Steven Moreland",
    "email": "smoreland@google.com",
    "time": "Tue Jun 22 18:40:27 2021 +0000"
  },
  "committer": {
    "name": "Steven Moreland",
    "email": "smoreland@google.com",
    "time": "Tue Jun 29 01:14:40 2021 +0000"
  },
  "message": "HidlLazyUtils: avoid race w/ register \u0026 onClients\n\nIn HIDL, the threadpool is started whenever a binder object is sent to\nanother process, so there is the rare race condition:\n- a process has a threadpool of size \u003e 1\n- it calls register service\n- when sending this service to hwservicemanager, under the hood, the\n  threadpool is started (but it hasn\u0027t recorded internally that the\n  service is registered)\n- another process gets ahold of the service\n- hwservicemanager tells the service it has a client\n- the service aborts, because it has no record of registering this\n  service\n\nBug: 191608065\nTest: hidl_lazy_test\nChange-Id: Ia430352db4fb1345ba3e6633e3918b441af24fd7\nMerged-In: Ia430352db4fb1345ba3e6633e3918b441af24fd7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "be7470f5fdbd3bf466ba8d11b821d19ce2f6c8cd",
      "old_mode": 33188,
      "old_path": "transport/HidlLazyUtils.cpp",
      "new_id": "c5f8c74f7d4448a7afb7f67702df61e3787efba2",
      "new_mode": 33188,
      "new_path": "transport/HidlLazyUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "427611be070068ad589c86bacb335dd34d69d9a3",
      "old_mode": 33188,
      "old_path": "transport/include/hidl/HidlLazyUtils.h",
      "new_id": "376b6abaf56e91bef7005ba0d98e9a8ab01ca16d",
      "new_mode": 33188,
      "new_path": "transport/include/hidl/HidlLazyUtils.h"
    }
  ]
}
