)]}'
{
  "commit": "37e8b1334e59485e1d4735f5f67b31eba37ae5c9",
  "tree": "c5c77139bf226ae7bf4f1d67a891f8eef61b026d",
  "parents": [
    "d42410b21c4314143f31fd7f8494dd1d4c279663"
  ],
  "author": {
    "name": "Chris Dickens",
    "email": "christopher.a.dickens@gmail.com",
    "time": "Tue Aug 18 09:19:03 2020 -0700"
  },
  "committer": {
    "name": "Chris Dickens",
    "email": "christopher.a.dickens@gmail.com",
    "time": "Tue Aug 18 09:19:03 2020 -0700"
  },
  "message": "Windows: Fix I/O completion port thread behavior on error\n\nThe GetQueuedCompletionStatus() returns FALSE when the I/O operation\nitself does not complete successfully. The I/O completion thread should\ntherefore not exit on this condition. Adjust the check to verify that an\nOVERLAPPED structure was provided and use an explicit completion key\nvalue in the exit path to disambiguate receiving a valid NULL OVERLAPPED\npointer.\n\nSigned-off-by: Chris Dickens \u003cchristopher.a.dickens@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "940663215a8336b3e567379e5736a4176d81e33d",
      "old_mode": 33188,
      "old_path": "libusb/os/windows_common.c",
      "new_id": "2f79928418021ac66ac426f856e6e0d4d8178651",
      "new_mode": 33188,
      "new_path": "libusb/os/windows_common.c"
    },
    {
      "type": "modify",
      "old_id": "bee411732aa6cf3c4882aa3265e30886caf8c8a7",
      "old_mode": 33188,
      "old_path": "libusb/version_nano.h",
      "new_id": "dfaf22120460126797d006be3d868d1714247c6a",
      "new_mode": 33188,
      "new_path": "libusb/version_nano.h"
    }
  ]
}
