)]}'
{
  "commit": "c1b8fa8bdccecb0b8db834ee0b92fdbcfa606dd6",
  "tree": "0aff26d97111a6d8f166aafa463df01c916e919a",
  "parents": [
    "0938d701e50e580f5925c773055eb6d6b32a0cbc"
  ],
  "author": {
    "name": "Nate Finch",
    "email": "nate.finch@gmail.com",
    "time": "Tue Jun 21 03:49:01 2016"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jun 21 03:49:01 2016"
  },
  "message": "fix a race condition (#21)\n\nThere was an obvious race condition where both Accept and Close were\r\ntwiddling with PipeListener.close.. but there was also a less obvious race\r\ncnodition where if you called Close between createpipe and\r\nconnectnamedpipe, the connect would hang forever. These are both now fixed\r\nby making the mutex protect the entire accept/close methods (aside from\r\nwaitsingleobject, which will correctly error out if you call close while\r\nit waits).",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "14595ae1431c1b7618875e7b4d250d845e90b7d1",
      "old_mode": 33188,
      "old_path": "example_windows_test.go",
      "new_id": "cb3f93b57ee45bb950faf9f31aba28ba32b30477",
      "new_mode": 33188,
      "new_path": "example_windows_test.go"
    },
    {
      "type": "modify",
      "old_id": "48287e63fe9cc2988578ee534b93cbb87c4ce2f5",
      "old_mode": 33261,
      "old_path": "npipe_windows.go",
      "new_id": "5e7cf13ee319c786b746978c25fe60af533f9d5c",
      "new_mode": 33261,
      "new_path": "npipe_windows.go"
    },
    {
      "type": "modify",
      "old_id": "8b3b25af59a2dd567b68d2258fb3985cd4558d32",
      "old_mode": 33261,
      "old_path": "npipe_windows_test.go",
      "new_id": "2a7da25eb82e6f07487f884108fe2af25dff3645",
      "new_mode": 33261,
      "new_path": "npipe_windows_test.go"
    }
  ]
}
