)]}'
{
  "commit": "3fbe73e77dc48bdb5b53cef15a24e1e8aae48bf5",
  "tree": "c37d1a3b93da8b355338246189d8e9a338202173",
  "parents": [
    "0ceb7f7d864adfc14eb885bde3e157b4ecef8d69"
  ],
  "author": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Thu Feb 02 13:54:09 2017 -0500"
  },
  "committer": {
    "name": "Nicolas Capens",
    "email": "capn@google.com",
    "time": "Thu Feb 02 19:07:40 2017 +0000"
  },
  "message": "Guard against threads joining twice.\n\nAfter a pthread_join() call the handle becomes invalid or could be\nrecycled by another thread, leading to undefined behavior when\nattempting to join it again. Also, on Windows the handle has to be\nclosed to free it.\n\nBug b/34883464\n\nChange-Id: Ib20d0539b6b46e331c6378b3a9f0c2a334d34892\nReviewed-on: https://swiftshader-review.googlesource.com/8612\nReviewed-by: Alexis Hétu \u003csugoi@google.com\u003e\nReviewed-by: Nicolas Capens \u003ccapn@google.com\u003e\nTested-by: Nicolas Capens \u003ccapn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9a7b342f1a918a18c3d84ef15663646b2dbcb600",
      "old_mode": 33188,
      "old_path": "src/Common/Thread.cpp",
      "new_id": "df9a0b794893e0a816e43ef6ee265b914299b1ce",
      "new_mode": 33188,
      "new_path": "src/Common/Thread.cpp"
    },
    {
      "type": "modify",
      "old_id": "deb8b29e6a34ca1b1dc7ca281517f7bc364c2a9e",
      "old_mode": 33188,
      "old_path": "src/Common/Thread.hpp",
      "new_id": "8f6443e03c1b9b0d5ca25f2ce40f7544550fba3f",
      "new_mode": 33188,
      "new_path": "src/Common/Thread.hpp"
    }
  ]
}
