)]}'
{
  "commit": "95ee651bf734c8dcbfc72dd41b15dc5f3dcdfa02",
  "tree": "8df33e2e2a9d127007806c4d9e6f8b2905d9c7e5",
  "parents": [
    "db2df69c475fabe4d3a09c6124d3f75f8cbf441a"
  ],
  "author": {
    "name": "Klaus Aehlig",
    "email": "aehlig@google.com",
    "time": "Wed Jul 06 09:28:35 2016 +0000"
  },
  "committer": {
    "name": "Klaus Aehlig",
    "email": "aehlig@google.com",
    "time": "Wed Jul 06 09:43:33 2016 +0000"
  },
  "message": "Experimental UI: make stopUpdateThread() more insisting\n\nThe stopUpdateThread() method tries to stop the update thread\nby calling the interrupt() and join() methods on that thread.\nWhen getting interrupted while waiting for the thread to join,\ndo not ignore the exception, instead try again to make sure\nwe don\u0027t leave that method before the other thread is actually\nstopped.\n\nWhile there, also clean up the synchronized blocks for the thread\nhandling: all blocks that handle multiple global variables like\nbuildComplete, updateThread, etc, are synchronized while the actual\nthread-manipulating operations are outside those blocks.\n\n--\nMOS_MIGRATED_REVID\u003d126679343\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "166f3c52ee29e2dc4fc08cb9eea65bfeb3574130",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java",
      "new_id": "ee9028139a6e093f95acd000ae795bfddeba180b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/runtime/ExperimentalEventHandler.java"
    }
  ]
}
