)]}'
{
  "log": [
    {
      "commit": "46e2eadad24b9d11f5319efd393066ae8c35cd54",
      "tree": "6684ad778a4bdca5644d819b26f23b731ef4aeed",
      "parents": [
        "e371ae68ac0d6d39cacf5edc893bda2f4a61e883"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Dec 10 13:21:46 2015 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Dec 10 13:33:37 2015 -0800"
      },
      "message": "Do not set properties in bionic_systrace\n\nCurrently, if the debug.atrace.tags.enableflags property is not found,\nit is set to a safe value such that a pointer to this property can be\nstored for later access.  This may result in selinux denials because not\nall processes write permissions for this property or permission to\nconnect to the property write socket at all.\n\nChange I6d953c0c281fd72ad3eba8a479fd258023579b5b writes this property to\na safe value upon boot, which greatly decreases the cases in which this\nproperty will not be accessible and removes the need to write it here.\nThis commit removes this write.\n\nBug 26115803\n\nChange-Id: Ief72c5f731d3a1231b5080eb531fa0a491a8b1d1\n"
    },
    {
      "commit": "166112531558a1d4ea179c29147f27db7045db22",
      "tree": "c4b83a4e4e3e69da497381d73b94b9d6b7d361b0",
      "parents": [
        "2565492db0d67b95348cd1c3026ed338ca59aa37"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jul 21 17:27:54 2015 -0700"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Jul 22 18:24:53 2015 -0700"
      },
      "message": "Don\u0027t abort when failed to write tracing message.\n\nAlso make the code thread-safe with lock.\n\nBug: 20666100\nChange-Id: I0f331a617b75280f36179c187418450230d713ef\n"
    },
    {
      "commit": "05fc1d7050d5451aea08dc5f504d2670287b2d43",
      "tree": "fa1d81b61b303ee8ed94c511cc08b8f40ed6624b",
      "parents": [
        "43606bc1ce974e4ba42d7d2c3682ad5182e6fc96"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 18:02:33 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 19:23:11 2015 -0800"
      },
      "message": "Add missing includes.\n\nChange-Id: Ibf549266a19a67eb9158d341a69dddfb654be669\n"
    },
    {
      "commit": "40360b379cee07574493f5a450cf1c6e531bdde0",
      "tree": "2b16a06dc25f1c3f51e94dc099513464f615e622",
      "parents": [
        "0a552407ada6fc718be016df0902f6c23aa88eea"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 29 13:29:50 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 29 13:29:50 2014 -0800"
      },
      "message": "Remove bogus transitive includes.\n\n\u003csignal.h\u003e shouldn\u0027t get you the contents of \u003cerrno.h\u003e, and \u003cfcntl.h\u003e\nshouldn\u0027t get you the contents of \u003cunistd.h\u003e.\n\nChange-Id: I347499cd8671bfee98e6b8e875a97cab3a3655d3\n"
    },
    {
      "commit": "f73183f1a34df22b62a3d0bbf82e18d5797c9cde",
      "tree": "1bc3c9a47180aaeb2f734e835034a3f6b9ac9d00",
      "parents": [
        "7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:20:59 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 26 16:20:59 2014 -0700"
      },
      "message": "More cases where libc should use O_CLOEXEC.\n\nChange-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0\n"
    },
    {
      "commit": "a406ee6d5f616192e9a13afad6ac6a9969814fc1",
      "tree": "bc9d1575ddacb246d49109367b6151732fbfe19e",
      "parents": [
        "337c0cefdc4667143a1f4f2c30113b452c5d188f"
      ],
      "author": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Mon Jul 21 15:38:06 2014 -0700"
      },
      "committer": {
        "name": "Brigid Smith",
        "email": "brigidsmith@google.com",
        "time": "Mon Jul 28 19:38:08 2014 -0700"
      },
      "message": "Added a bionic systrace class and tracing to pthread_mutex.cpp.\n\nbionic_systrace.h contains an implementation of tracing that\ncan be used with systrace.py and its associated viewer.  pthread_mutex\nnow uses this tracing to track pthread_mutex contention, which can be\nenabled by using the \"bionic\" command line option to systrace.\n\nBug: 15116468\nChange-Id: I30ed5b377c91ca4c36568a0e647ddf95d4e4a61a\n"
    }
  ]
}
