)]}'
{
  "log": [
    {
      "commit": "dcc97c0887c57844c832f4497866320697811e88",
      "tree": "6f15dcf66c1b9b4b5e6e6d4b7642f555bf2a6ee6",
      "parents": [
        "87a205eefa2e12597f6d7a05db05fefbe498a292"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Dec 09 14:01:13 2020 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 07 19:00:45 2021 -0700"
      },
      "message": "Disable fdtrack post-fork.\n\nAlso delete some fdsan code that attempts to check for the post-fork\nstate, but never will, because we update the cached pid upon fork.\n\nBug: http://b/174542867\nTest: /data/nativetest64/bionic-unit-tests/bionic-unit-tests\nTest: treehugger\nChange-Id: I9b748dac9de9b4c741897d93e64d31737e52bf8e\n"
    },
    {
      "commit": "651f1fa509f4d113fef1424ae99bca16aac01b5f",
      "tree": "b474af881f127fd9156a618e01ee3ed633e72da1",
      "parents": [
        "e09fc24a94c1a196b8930f8f26c6f5f8c1a47d06"
      ],
      "author": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Thu Jan 07 21:29:18 2021 +0000"
      },
      "committer": {
        "name": "Adam Barth",
        "email": "abarth@google.com",
        "time": "Fri Jan 08 01:21:52 2021 +0000"
      },
      "message": "Make the atomic load explicit\n\nTechnically, std::atomic does not have an operator(). Previously, this\ncode was relying on an implicit behavior of our C++ standard library in\norder to compile. When compiling this code against a different C++\nstandard library, I encountered a compiler error on these lines.\n\nThis CL makes the std::atomic load() operation explicit, makes it\nclearer what this code is actually doing and makes it conform better to\nthe C++ standard library spec rather than a particular implmentation.\n\nChange-Id: I7f255dffc0a3d8e07c973c18e9ba4098c4b5843e\n"
    },
    {
      "commit": "41291131284471eed7cb6c22cac8b442fd3d1c52",
      "tree": "2c3d0a4a905545d3c15f17089e1ab818b7f2c7a4",
      "parents": [
        "65fb2a7f0304fda4463771ae40f8b83728e74a62"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 19:43:38 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 20:18:45 2020 -0700"
      },
      "message": "fdtrack: don\u0027t do anything while vforked.\n\nBug: http://b/153926671\nTest: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator\nChange-Id: If42905f3d6a76ed70a45e5b9edd029ffd7789045\n"
    },
    {
      "commit": "759625072270f5b6940dae40c8039867a08eff12",
      "tree": "e0a1227301a6b67509badba95a91998d5c04e18d",
      "parents": [
        "97271920bf831610819ddfa44e4e2cc0815afd6e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 28 13:24:33 2020 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Move fdtrack APIs to LLNDK.\n\nTest: logcat -c; fdtrack_test; logcat -d\nChange-Id: Ib6f75a7c8bbc4d6efa0708dcbbfe4ad3c0641022\n"
    },
    {
      "commit": "97271920bf831610819ddfa44e4e2cc0815afd6e",
      "tree": "0ba61ad31242b38becb89cab8702df68328a1e71",
      "parents": [
        "7ef4c774da59bbf942b5652b1f68e46cac2e5099"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 06 13:15:00 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Add a tool to track down fd leaks.\n\nAdd a hook that\u0027s called upon file descriptor creation to libc, and a\nlibrary that uses it to capture backtraces for file descriptor creation,\nto make it easier to hunt down file descriptor leaks.\n\nCurrently, this doesn\u0027t capture all of the ways of creating a file\ndescriptor, but completeness isn\u0027t required for this to be useful as\nlong as leaked file descriptors are created with a function that is\ntracked. The primary unhandled case is binder, which receives file\ndescriptors as a payload in a not-trivially-parsable byte blob, but\nthere\u0027s a chance that the leak we\u0027re currently trying to track down\nisn\u0027t of a file descriptor received over binder, so leave that for\nlater.\n\nBug: http://b/140703823\nTest: manual\nChange-Id: I308a14c2e234cdba4207157b634ab6b8bc539dd9\n(cherry picked from commit b7eccd4b1577c101132e52d4a5313d5322dcae2d)\n"
    }
  ]
}
