)]}'
{
  "log": [
    {
      "commit": "fa658eb094d915a9640a4d0642adee7667f439e7",
      "tree": "fed628e69093bc895bfb779c13cdf350c0f4540d",
      "parents": [
        "93517d1a27db3414e6f3b0b3fc91144903837329"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Mar 04 11:14:42 2020 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Mar 04 13:22:05 2020 -0800"
      },
      "message": "Fix bugprone-macro-parentheses warnings\n\nBug: 150783705\nTest: WITH_TIDY\u003d1 make\nChange-Id: If47b7adaa5f3ba3c518fb0be48f0ffdc81d204b2\n"
    },
    {
      "commit": "c8a2612ffc13a31aaedec26a45cdceb6fa8199cb",
      "tree": "8c12929cde798f3a49dfe0d9a59085d8b205f0b6",
      "parents": [
        "048e18045d6e7bcaf0870d8bb7cb671214c9ad50",
        "8aecba7aa6b7f7b92f69c0d3febef59fdb135f87"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 26 16:12:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 26 16:12:04 2017 +0000"
      },
      "message": "Merge \"Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.\""
    },
    {
      "commit": "8aecba7aa6b7f7b92f69c0d3febef59fdb135f87",
      "tree": "fd3d9743a0e282dcbb2a8b2b51906f7da3a84468",
      "parents": [
        "435e6384de8f9e35b8878b1ccda5bb5686c15207"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Oct 17 15:34:41 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 25 14:28:42 2017 -0700"
      },
      "message": "Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.\n\nHistorically, Android defaulted to EXPLICIT but with a special case\nbecause SCHED_NORMAL/priority 0 was awkward. Because the code couldn\u0027t\nactually tell whether SCHED_NORMAL/priority 0 was a genuine attempt to\nexplicitly set those attributes (because the parent thread is SCHED_FIFO,\nsay) or just because the pthread_attr_t was left at its defaults.\n\nNow we support INHERIT, we could call sched_getscheduler to see whether\nwe actually need to call sched_setscheduler, but since the major cost\nis the fixed syscall overhead, we may as well just conservatively\ncall sched_setscheduler and let the kernel decide whether it\u0027s a\nno-op. (Especially because we\u0027d then have to add both sched_getscheduler\nand sched_setscheduler to any seccomp filter.)\n\nPlatform code (or app code that only needs to support \u003e\u003d P) can actually\nadd a call to pthread_attr_setinheritsched to say that they just want\nto inherit (if they know that none of their threads actually mess with\nscheduler attributes at all), which will save them a sched_setscheduler\ncall except in the doubly-special case of SCHED_RESET_ON_FORK (which we\ndo handle).\n\nAn alternative would be \"make pthread_attr_setschedparams and\npthread_attr_setschedprio set EXPLICIT and change the platform default\nto INHERIT\", but even though I can only think of weird pathological\nexamples where anyone would notice that change, that behavior -- of\npthread_attr_setschedparams/pthread_attr_setschedprio overriding an\nearlier call to pthread_attr_setinheritsched -- isn\u0027t allowed by POSIX\n(whereas defaulting to EXPLICIT is).\n\nIf we have a lot of trouble with this change in the app compatibility\ntesting phase, though, we\u0027ll want to reconsider this decision!\n\n -*-\n\nThis change also removes a comment about setting the scheduler attributes\nin main_thread because we\u0027d have to actually keep them up to date,\nand it\u0027s not clear that doing so would be worth the trouble.\n\nAlso make async_safe_format_log preserve errno so we don\u0027t have to be\nso careful around it.\n\nBug: http://b/67471710\nTest: ran tests\nChange-Id: Idd026c4ce78a536656adcb57aa2e7b2c616eeddf\n"
    },
    {
      "commit": "19d768598205d915a856ec8f8bf6f996dc6fa83a",
      "tree": "8463238af2bc21651e86e9e44973e9b3ba99eb52",
      "parents": [
        "435e6384de8f9e35b8878b1ccda5bb5686c15207"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 13:27:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 18 13:27:01 2017 -0700"
      },
      "message": "More \u003climits.h\u003e fixes.\n\nWent through the POSIX spec for the _POSIX* and _XOPEN* constants.\n\nBug: http://b/32776472\nTest: ran tests\nChange-Id: I389100dbc7de354eae9056e44b0a7fa8c37374e3\n"
    },
    {
      "commit": "14e3ff9f09fdd52db43628ccd6f39a6d3fb41740",
      "tree": "8ed0ba1d0744ac95265e2ea634b6e1ff8d72d88c",
      "parents": [
        "e387c2f08841ac0f6578e903ab21b54d01f3266e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 06 16:58:36 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 11 14:57:49 2017 -0700"
      },
      "message": "Implement \u003cspawn.h\u003e.\n\nAs described here:\n\n  http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html\n\nAnd here:\n\n  http://man7.org/linux/man-pages/man3/posix_spawn.3.html\n\nBug: N/A (but mentioned in my inbox since 2013)\nTest: ran tests\nChange-Id: I0b27b2919b660779e3bd8a25fb429527c16dc621\n"
    },
    {
      "commit": "aaf83e8051abf9a68e9deee589b18f0ecdf1b266",
      "tree": "f3b56813ba81ae68a68e28f73d4de933be22a455",
      "parents": [
        "0a451314b0bb3af51e34659ade322be58c434127"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 15:26:33 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 16:18:10 2017 -0700"
      },
      "message": "More POSIX limits cleanup.\n\nhttp://man7.org/linux/man-pages/man7/posixoptions.7.html is a very useful\nquick reference to what these are supposed to mean.\n\nBug: http://b/32776472\nTest: ran tests\nChange-Id: Icea6812d6075e663885844d7424aa6cf73d6284a\n"
    },
    {
      "commit": "3a8f75d8b052611c08ef17ecf625b8021f4e0229",
      "tree": "a41055f8209868da748f5118a24df528d1f07a9e",
      "parents": [
        "42f3bd0ffc3f0f0e3191c679ea4276f7f1882a00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 10:33:18 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Oct 05 10:33:18 2017 -0700"
      },
      "message": "POSIX clock cleanup.\n\nThe newest of these clocks was added in Linux 2.6.12, so no need for runtime\nchecks.\n\nAdd CTS tests that we can actually use the various clocks.\n\nBug: http://b/67458266\nTest: ran tests\nChange-Id: I3cfd7982043d6f8d4ebdc2b29e8722334f443ce5\n"
    },
    {
      "commit": "468c8086e6f28b9342d3f89ed89f185ab5bb775a",
      "tree": "e04a6353962ea85f199c283e21b28b4caf4325ee",
      "parents": [
        "f06535035ef6e48aeacc37819ea7182416275216"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 20 12:47:14 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat May 20 13:11:14 2017 -0700"
      },
      "message": "Fix _POSIX_THREAD_PROCESS_SHARED.\n\nWe\u0027ve had pthread_*_setpshared for long enough that there are no\n__INTRODUCED_IN guards.\n\nFound because fio\u0027s configure script was confused by this.\n\nBug: N/A\nTest: ran tests\nChange-Id: I07b4d937741e4dcd7e615f2371b17c827341917a\n"
    },
    {
      "commit": "06d7f2c78968d1f3e72eb96a5e2472c22c08cd19",
      "tree": "77f98a3292f307e5360c3a372b89b1a956dc8d51",
      "parents": [
        "9cb82a2c6b9001f7c50cbb3465f4aabc5d7cd055"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 21 11:24:13 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 21 11:24:13 2017 -0700"
      },
      "message": "POSIX support varies by API level.\n\nBug: https://github.com/android-ndk/ndk/issues/332\nTest: builds\nChange-Id: I249c214d34244a1149ba6b1160e8eafc2cdbcdea\n"
    },
    {
      "commit": "73c44a4738fdb615eaede1d0ab21fc3de59105ab",
      "tree": "af209ee2d4f9f17e8aa253681f553c6ef7bac383",
      "parents": [
        "d8244214751f9b48e60e69910c4e7175f8fab1ac"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 09:27:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 19 09:28:21 2016 -0700"
      },
      "message": "Fix our _POSIX_* macros to declare barriers and spin locks.\n\nWe have these now.\n\nTest: ran tests\nChange-Id: Ie7b479061ecec19c8b35ea81e04debfd8323d94a\n"
    },
    {
      "commit": "7292725bcd291bda814554fcb9d7c026619c0e49",
      "tree": "a41f6ea4be5ac695f087a387c12fd468e03713a6",
      "parents": [
        "931be5a64d71d09334f963e7ba7efd1d6049e648"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 14:05:10 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 27 14:05:10 2016 -0700"
      },
      "message": "Admit that we don\u0027t actually support thread priority inheritance.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d218323\nChange-Id: I6c69b0fbb8414e7cc2deeb8be50b6af4830ed55e\n"
    },
    {
      "commit": "203e13d97de840e01eded6a267fef9f245cf3a15",
      "tree": "83517885755d8c28f7f6934bff67f7ad36addf39",
      "parents": [
        "767e8147d7f38bd9a23100ec9fa07b6a14a8b680"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 14:56:18 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 22 17:01:54 2016 -0700"
      },
      "message": "Always include \u003csys/cdefs.h\u003e.\n\nI made a mistake caught by code review earlier, so let\u0027s try to be\nsafer by default.\n\nThis patch also moves all our \"forwarding\" headers to the guardless\njust-include-the-other-thing style that we usually use. (Where we\nhave a comment explaining where the header comes from, I\u0027ve kept\nthat.)\n\nChange-Id: I37342cf5e2563c6a269b2ba61a697069b1c7913b\n"
    },
    {
      "commit": "5704c423c81790195161c1757ae79da188590c51",
      "tree": "66ebd378fb496400d35ad38a8c4eb25931ad30f2",
      "parents": [
        "ac67b4eb7c70ea668abb32298b0cb16920a32a66"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 25 18:06:24 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 26 11:09:44 2016 -0800"
      },
      "message": "Implement POSIX lockf.\n\nThis has been requested a few times over the years. This is basically\na very late rebase of https://android-review.googlesource.com/45470\nwhich was abandoned years ago. One addition is that this version has\n_FILE_OFFSET_BITS\u003d64 support.\n\nPOSIX puts this in \u003cunistd.h\u003e. glibc also has it in \u003cfcntl.h\u003e.\n\nBug: http://b/13077650\nChange-Id: I5862b1dc326e326c01ad92438ecc1578d19ba739\n"
    },
    {
      "commit": "94926f8cfa0adf37c4e19256ade7261a97f72e51",
      "tree": "8c990320ebf445406d3d50be443db10cd58eee42",
      "parents": [
        "b033761cbf0e79ade9a8c956c2e63b42ee838183",
        "634816055f51c536d24dea30dfe930b7fe2fa603"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Dec 09 20:10:19 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 09 20:10:19 2014 +0000"
      },
      "message": "Merge \"support _POSIX_REALTIME_SIGNALS\""
    },
    {
      "commit": "725756045e03ea6f7ef00d02e883ef2914d06dde",
      "tree": "f659fe46a294ec77a2b617e82d725642e0c70bf7",
      "parents": [
        "734f0d645e461a1061c879e5bd964592d3f326ee"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Dec 08 11:54:12 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Dec 09 09:16:11 2014 -0800"
      },
      "message": "Change _POSIX_CPUTIME macro to make it compitable with glibc.\n\nChange-Id: I7a8dbb74bd622693c9fef60bd779687207517b7d\n"
    },
    {
      "commit": "634816055f51c536d24dea30dfe930b7fe2fa603",
      "tree": "5d3739b116df16774776010538254c10007c0a76",
      "parents": [
        "f64c43ba6c9244c50e904961dc432f04b1dfcfd9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Dec 01 17:41:04 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Dec 08 21:52:43 2014 -0800"
      },
      "message": "support _POSIX_REALTIME_SIGNALS\n\nBug: 18489947\nChange-Id: I2e834d68bc10ca5fc7ebde047b517a3074179475\n"
    },
    {
      "commit": "5afae64a1bac56638c6348f0c8f5e9d61b654029",
      "tree": "596b834f553f804c84a13615f30ff6ad67201303",
      "parents": [
        "230005c4bd3910ef974694f88d04e6f6a5a540b4"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Nov 25 20:17:27 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Thu Dec 04 11:01:28 2014 -0800"
      },
      "message": "implement posix_madvise\n\nBug: 18472477\nChange-Id: I8183de6c281acf69ed5f7f88351b056b9827b162\n"
    },
    {
      "commit": "d5c652756bb1a52959cd5c62447b62462f90f983",
      "tree": "8804bb959d8d66a5a8557683416c254f2fc98530",
      "parents": [
        "f64c43ba6c9244c50e904961dc432f04b1dfcfd9"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 26 14:04:26 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 26 17:14:50 2014 -0800"
      },
      "message": "support _POSIX_CPUTIME\n\nBug: 18490039\nChange-Id: I01fa83b48e1b908de1f227b6e4f98e280bcd50ee\n"
    },
    {
      "commit": "1c19194c9d2518dbe86973cd313a277ecb70d75c",
      "tree": "46cffb5ae65c870a36e217b2b9a7b27e2c3154be",
      "parents": [
        "27aa9c5b50cc3e979fc67c1bf5296dfd725c8540"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Nov 19 19:49:14 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Fri Nov 21 19:10:52 2014 -0800"
      },
      "message": "flesh out sysconf(3) and the _POSIX_* constants\n\nBug: 17571891\nChange-Id: I81036615486bde65969ae5662587fcc88348474e\n"
    },
    {
      "commit": "0589777a33a08b88682e31cfbc008889b3f258d0",
      "tree": "c3bc078a3d157403219e897fe24da707f4e05b74",
      "parents": [
        "e23f564b52fed0dce661cf6db25cf3a89bd66f18"
      ],
      "author": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Wed Oct 29 14:47:47 2014 +0800"
      },
      "committer": {
        "name": "Yongqin Liu",
        "email": "yongqin.liu@linaro.org",
        "time": "Thu Oct 30 10:59:24 2014 +0800"
      },
      "message": "limits.h: add define for HOST_NAME_MAX\n\naccording to the rules defined here:\n    http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html\nadd the definition for HOST_NAME_MAX to limits.h file,\nand set the default value to _POSIX_HOST_NAME_MAX as 255\n\nChange-Id: Iddd5c6c569f4e0a14994c7a7c54985f3e7809fc4\nSigned-off-by: Yongqin Liu \u003cyongqin.liu@linaro.org\u003e\n"
    },
    {
      "commit": "a186b2e0ca19620a52b4a49c17835532d13eb30a",
      "tree": "41b878b00d0277df342c64648603372ba4f1b9dc",
      "parents": [
        "9f423c554a0ffcee2e34472bf0bc1aef3621a822"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 22 14:49:07 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Sep 22 22:49:40 2014 +0000"
      },
      "message": "Clean up fpathconf(3)/pathconf(3).\n\nfpathconf(3) and pathconf(3) can share code. There\u0027s no such\nheader file as \u003cpathconf.h\u003e. glibc/POSIX and BSD disagree about where\nthe _POSIX_* definitions should go.\n\nChange-Id: I4a67f1595c9f5fbb26700a131178eedebd6bf712"
    }
  ]
}
