)]}'
{
  "log": [
    {
      "commit": "96272df35cbc89c696dcacc0796519a89d9e2212",
      "tree": "4c2d8c2d3b30fe82de4e08d57cf43da2481c6e72",
      "parents": [
        "8d1849930f10e6b1a6b9c5885def5a08cee44040"
      ],
      "author": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Tue Mar 24 15:59:27 2020 +0100"
      },
      "committer": {
        "name": "Florian Mayer",
        "email": "fmayer@google.com",
        "time": "Fri Mar 27 19:22:00 2020 +0100"
      },
      "message": "dynamic libc: ignore ART profiling signal by default.\n\nThese solves the issue that targetting non-profilable apps crashed them.\nThere is still a race condition between starting the app and the SIG_IGN\nbeing installed, but that will be fixed in follow-ups.\n\nThis also does not cover programs that statically link libc, but those are\nrare.\n\nThis might be reverted if we find a more general solution to\nb/151835887.\n\nBug: 151328035\nTest: java profile sysui, doesn\u0027t crash\nTest: atest CtsBionicTestCases\n\nChange-Id: I6b99352ed50afe15a609f7ddb85312c2676ddf11\n"
    },
    {
      "commit": "baf20fc9122740ff2baa34d28001e8bdfac9568c",
      "tree": "8e6f717de9cef90828010497ef80ab454c0eb4c6",
      "parents": [
        "773c697f815d43182adf1eb430f4899255088d6b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Oct 08 17:28:07 2018 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Oct 09 16:27:22 2018 -0700"
      },
      "message": "Block TIMER_SIGNAL in sigprocmask(SIG_SETMASK, ...).\n\nPreviously, we were zeroing out the reserved signals, when we actually\nwanted to have TIMER_SIGNAL always be blocked, and the other signals\nalways be unblocked. This resulted in process termination when a\nSIGEV_THREAD timer callback calls sigprocmask(SIG_SETMASK, ...) with\nany signal mask value, and then subsequently fails to complete its\ncallback and reach the sigtimedwait in bionic before the next timer\niteration triggers.\n\nAdd a how argument to filter_reserved_signals to appropriately\nblock/unblock our reserved signals.\n\nBug: http://b/116783733\nTest: bionic-unit-tests32/64\nChange-Id: Ie5339682cdeb914711cd4089cd26ee395704d0df\n"
    },
    {
      "commit": "344969c849cce92e58ff483a035210c52da7910b",
      "tree": "ffaca6194222d2909457eb18b64574db558515da",
      "parents": [
        "df0a2d237d8127473a2bbb7be435d45a71ed2916"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Apr 09 16:26:20 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Mon Apr 09 16:58:20 2018 -0700"
      },
      "message": "spawn.signal_stress: reap spawned children on exit\n\nTest: adb shell \\\n  /data/nativetest64/bionic-unit-tests-static/bionic-unit-tests-static \\\n  --gtest_filter\u003dspawn.signal_stress\nBug: b/77824306\nChange-Id: I970d1a4d0f8ac9621e676f32f838fc2f638d9750\n"
    },
    {
      "commit": "a1bc826c375c25a4b385fa724c580838635fa262",
      "tree": "19a43e95d30d81634330cd8cb9c6138ca427c3a6",
      "parents": [
        "6c3f97d2360ba1a2b2be160003fa3b4dd7b33ae1"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Apr 03 20:46:11 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue Apr 03 21:57:24 2018 -0700"
      },
      "message": "Fix race in spawn.signal_stress test\n\nThe default behavior for a real-time signal is to terminate the process.\nIf the child we fork sends a SIGRTMIN signal before we\u0027ve set up the\nScopedSignalHandler for it, then the parent is terminated.\n\nTest: adb shell /data/nativetest64/bionic-unit-tests-static/bionic-unit-tests-static --gtest_filter\u003dspawn.signal_stress --gtest_repeat\u003d1000\nBug: b/77554047\nChange-Id: Ib44cbea8ccf506644405d8f426d9ad24e77cfa33\n"
    },
    {
      "commit": "71ba5899ae5857a6510f0fa05039dccee73bcc6a",
      "tree": "9d34769766ce10c95ecb32bc5ec25949007a0048",
      "parents": [
        "0a8d5f3eb8f4087b307f237943a19ae36b094ced"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 07 12:44:45 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Mar 05 17:20:12 2018 -0800"
      },
      "message": "Rewrite system(3) to use posix_spawn(3).\n\nWe saw crashes from pthread_exit+debuggerd on LP32\n(https://issuetracker.google.com/72291624), and it seems like the\nequivalent problem should exist with system(3). I fixed posix_spawn(3)\nas part of that bug, so the easiest fix is probably to reuse that.\n\nBug: http://b/72470344\nTest: ran tests\nChange-Id: I05f838706f2b4a14ac3ee21292833e6c8579b0d4\n"
    },
    {
      "commit": "5905d6f8797056ca4178d42bf1220b6692e557a5",
      "tree": "222848ae0ced32fcf2028a2c6502b4a763c83830",
      "parents": [
        "d435d256da57fdf4278b3198720d881f3edcf452"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 15:09:51 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 18:47:16 2018 -0800"
      },
      "message": "Add `sigset64_t` and accompanying functions.\n\nThis doesn\u0027t address `struct sigaction` and `sigaction`. That will\ncome later.\n\nBug: http://b/72493232\nTest: ran tests\nChange-Id: I4134346757ce3a4dac6feae413361cec16223386\n"
    },
    {
      "commit": "4b1c6e73850d2e77c6d05a2f7dad8e3e8c928103",
      "tree": "685c224a8f997ec868c9c0a93e194fe2ae2d8eb8",
      "parents": [
        "73871ad09be8a8259171d606c4e3e3cf08d4733c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 24 18:54:38 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 26 13:04:57 2018 -0800"
      },
      "message": "Better handling of sigset_t on LP32.\n\nThe main motivation here is that the sigprocmask in pthread_exit wasn\u0027t\nactually blocking the real-time signals, and debuggerd (amongst other\nthings) is using them. I wasn\u0027t able to write a test that actually won\nthat race but I did write an equivalent one for posix_spawn.\n\nThis also fixes all the uses of sigset_t where the sigset_t isn\u0027t\nexposed to the outside (which we can\u0027t easily fix because it would be\nan ABI change).\n\nBug: https://issuetracker.google.com/72291624\nTest: ran tests\nChange-Id: Ib6eebebc5a7b0150079f1cb79593247917dcf750\n"
    },
    {
      "commit": "7bfacaabf250d8aed5de82e8091b3251bd8dd53f",
      "tree": "d7f131953ebc2112db639e19dad7f152faa7f155",
      "parents": [
        "0a25aa60a2a7cc6b681dd2e31321000cedbff77e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 28 19:58:00 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 29 18:36:38 2017 -0800"
      },
      "message": "Fix posix_spawn signal defaulting.\n\nAdd a new stress test, and fix the code to pass it. We need to ensure that\nwe reset signal handlers for caught signals before unblocking signals in\nthe child, we need to ensure that this happens even if you haven\u0027t passed\na pthread_spawn_attr_t, and we need to ensure that this happens if you\npass in an empty sigdefault set.\n\nBug: http://b/68707996\nTest: ran tests\nChange-Id: I348e9b17b1bdf221591da42c0ada133d98471d66\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"
    }
  ]
}
