)]}'
{
  "commit": "6b2018f4b847a60f39c86d67e1cae8a00ce977bc",
  "tree": "01782290b819d8978df4b90882d2c22d46d57bd5",
  "parents": [
    "23d75aa98de3cea87e1c088a70309ee0fdb4a0c7"
  ],
  "author": {
    "name": "Josh Gao",
    "email": "jmgao@google.com",
    "time": "Thu May 04 13:55:28 2017 -0700"
  },
  "committer": {
    "name": "Josh Gao",
    "email": "jmgao@google.com",
    "time": "Mon May 15 13:42:02 2017 -0700"
  },
  "message": "sigchain: limit use of SetHandlingSignal.\n\nThe native bridge and user signal handlers are able to not return to\nour signal handler, leaving the HandlingSignal flag set to true for the\nrest of the lifetime of the thread. Fix this by only using\nSetHandlingSignal for handlers that we know will return (i.e. the ART\nfault handler).\n\nThis effectively reverts commit 90444558, which means sigprocmask\u0027s\nbehavior is back to filtering out claimed signals when inside a user\nsignal handler.\n\nInclude an update to test/115-native-bridge from Zhenhua Wang, to make\nsure we keep handling signals when a signal handler longjmps away\ninstead of returning.\n\nBug: http://b/37988407\nTest: m test-art-host\nTest: m test-art-target\nChange-Id: Ia7159ddfa38f1f055e5cd6089c849a208d335752\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f738bf5a95e351c8f1632fabb8beabfcfeda713",
      "old_mode": 33188,
      "old_path": "runtime/fault_handler.cc",
      "new_id": "5594f4dfc7556e2628ae0b2c3dd87c1fb3cd6947",
      "new_mode": 33188,
      "new_path": "runtime/fault_handler.cc"
    },
    {
      "type": "modify",
      "old_id": "d77cfa1d3559057fa55f8c883bee3c02b730b75f",
      "old_mode": 33188,
      "old_path": "runtime/native_bridge_art_interface.cc",
      "new_id": "cd8315cdf9a2fe3b603253036f75c9e67773a1c1",
      "new_mode": 33188,
      "new_path": "runtime/native_bridge_art_interface.cc"
    },
    {
      "type": "modify",
      "old_id": "13c03e82611b7150bb8da280bcd2fb7341b03f04",
      "old_mode": 33188,
      "old_path": "sigchainlib/sigchain.cc",
      "new_id": "df4372f4312afe890a710c97d481bcdc200db0bc",
      "new_mode": 33188,
      "new_path": "sigchainlib/sigchain.cc"
    },
    {
      "type": "modify",
      "old_id": "0bed117963de6adfaab408d78681efdf6d9866d0",
      "old_mode": 33188,
      "old_path": "sigchainlib/sigchain.h",
      "new_id": "23fba030d23ce957c88a548ff10841b1613448d0",
      "new_mode": 33188,
      "new_path": "sigchainlib/sigchain.h"
    },
    {
      "type": "modify",
      "old_id": "2d7985aad1ed990b4df7a7393d40149021020d82",
      "old_mode": 33188,
      "old_path": "sigchainlib/sigchain_dummy.cc",
      "new_id": "edce965e33b5089d46bcaa5e4823647ebd730814",
      "new_mode": 33188,
      "new_path": "sigchainlib/sigchain_dummy.cc"
    },
    {
      "type": "modify",
      "old_id": "9c64111027e36442378fee8134e72629e53396f7",
      "old_mode": 33188,
      "old_path": "test/115-native-bridge/expected.txt",
      "new_id": "343a76247e9ae810348248be838b92f1aa342f9c",
      "new_mode": 33188,
      "new_path": "test/115-native-bridge/expected.txt"
    },
    {
      "type": "modify",
      "old_id": "b3b89491bfe8b98782e8a1bb62e2d210bd8d020d",
      "old_mode": 33188,
      "old_path": "test/115-native-bridge/nativebridge.cc",
      "new_id": "307fd9b766af17cd6ce1af7aec5cdf1c7ec5b5f5",
      "new_mode": 33188,
      "new_path": "test/115-native-bridge/nativebridge.cc"
    },
    {
      "type": "modify",
      "old_id": "e8d1e4e326e77c90e5db56df53170fdc211e2d71",
      "old_mode": 33188,
      "old_path": "test/115-native-bridge/src/NativeBridgeMain.java",
      "new_id": "11eaa84e80cb0f8e3aac6f75aecbe78591bf4c12",
      "new_mode": 33188,
      "new_path": "test/115-native-bridge/src/NativeBridgeMain.java"
    }
  ]
}
