)]}'
{
  "commit": "dd7df2b75118c920cb21b4442983168e8b2f14ac",
  "tree": "f5f156131b199becd8a24c34669f18e2d5d79eec",
  "parents": [
    "afadbc7a89f49b70a09d0d809853777ce3a135bf"
  ],
  "author": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Wed Aug 14 14:00:41 2019 -0700"
  },
  "committer": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Wed Aug 14 14:00:41 2019 -0700"
  },
  "message": "core: protect against changes to the pollfd list during handle_events\n\nIt is possible a file descriptor to be removed due to a close and the\nsame file descriptor value to be added during the same event loop. This\ncan cause the backend to get a stale revent and incorrectly remove the\nfile descriptor.\n\nThis commit addresses the issue by delaying the actual removal of the\nipollfds entry until just before the backend handle_events is called.\nhandle_events then goes through the list of closed fds and clears out\nthe revents associated with the closed file descriptor.\n\nSigned-off-by: Nathan Hjelm \u003chjelmn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c3185bb30ec94df8bb5f3d35e746b31157167bc6",
      "old_mode": 33188,
      "old_path": "libusb/io.c",
      "new_id": "978b09aece37c0f7c92d148acbbd2a556edfd165",
      "new_mode": 33188,
      "new_path": "libusb/io.c"
    },
    {
      "type": "modify",
      "old_id": "f0512b54188804be4ff73e2002400cc5492d25fe",
      "old_mode": 33188,
      "old_path": "libusb/libusbi.h",
      "new_id": "0a677bd87295817facae90b8ad015926d52eec02",
      "new_mode": 33188,
      "new_path": "libusb/libusbi.h"
    },
    {
      "type": "modify",
      "old_id": "1ff7ca7a1b098ff9219ba0bc1a9b6735b115292a",
      "old_mode": 33188,
      "old_path": "libusb/version_nano.h",
      "new_id": "a71854be3bd87a459b2bbe76709d8699db41a43a",
      "new_mode": 33188,
      "new_path": "libusb/version_nano.h"
    }
  ]
}
