)]}'
{
  "log": [
    {
      "commit": "c5d028fc913de84a781bd61084bf7ae2182fd48e",
      "tree": "9086acc9c039dad30feca8a8d80ca7af04b061e1",
      "parents": [
        "2bbb8fac61e482dd96386620cc6f7f193e9c6840"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 14:42:14 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 10 14:42:14 2013 -0800"
      },
      "message": "Only have one copy of the kernel_sigset_t hack, and add more tests.\n\nChange-Id: I377522fcba6fb4b5fd2754ab15b091014bd7c16f\n"
    },
    {
      "commit": "fb5e5cbdd4e1d75594c37ebb544c0f46482a027b",
      "tree": "310053af341c83e71625b67eb4cba74d6766fe9b",
      "parents": [
        "26c5b2d460e3b2595eb7f0605edcd02753a13594"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 13:58:49 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 07 13:58:49 2013 -0800"
      },
      "message": "Fix an off-by-one error in the sigset_t function error handling.\n\nSpotted while running the tests on MIPS, where sigset_t is\nactually large enough. The bits in sigset_t are used such that\nsignal 1 is represented by bit 0, so the range of signals is\nactually [1, 8*sizeof(sigset_t)]; it seems clearer to reword\nthe code in terms of valid bit offsets [0, 8*sizeof(sigset_t)),\nwhich leads to the usual bounds checking idiom.\n\nChange-Id: Id899c288e15ff71c85dd2fd33c47f8e97aa1956f\n"
    },
    {
      "commit": "d8a5a6f513c6fa99229e9c82c5c308c7cd6b3d54",
      "tree": "1237090d7651fdb2374c60d94e7e1d8f75cd4e35",
      "parents": [
        "6fcf1770e5829b8439b7e7ed7efb39ee5d425e23"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris@mips.com",
        "time": "Fri Dec 07 18:41:10 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Dec 10 11:20:57 2012 -0800"
      },
      "message": "Use pthread_kill() in raise()\n\nraise() should use pthread_kill() in a pthreads environment.\nFor bionic this means it should always be used.\n\nChange-Id: Ic679272b664d2b8a7068b628fb83a9f7395c441f\n"
    },
    {
      "commit": "da73f655fcbac6e1a8bfd35303cef6f41187d12b",
      "tree": "7c85d8bc7ff5cb4a8eebd0ea3a6a808790c26f5d",
      "parents": [
        "16c61f088524756ef0fa1b030719f6745eaef2db"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:40:55 2012 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 30 16:40:55 2012 -0800"
      },
      "message": "Add argument checking to sigemptyset(3) and friends.\n\nYou could argue that this is hurting people smart enough to have manually\nallocated a large-enough sigset_t, but those people are smart enough to\nimplement their own sigset functions too.\n\nI wonder whether our least unpleasant way out of our self-inflicted 32-bit\ncesspool is to have equivalents of _FILE_OFFSET_BITS such as _SIGSET_T_BITS,\nso calling code could opt in? You\u0027d have to be careful passing sigset_t\narguments between code compiled with different options.\n\nBug: 5828899\nChange-Id: I0ae60ee8544835b069a2b20568f38ec142e0737b\n"
    }
  ]
}
