)]}'
{
  "commit": "4e2de881cf0f8b38b1e19c078d19b4628f38c732",
  "tree": "ded024692a2b4152491f2f4361db2da4387410e5",
  "parents": [
    "a8f8d4ba3dc897ed602d3b03d9843095e9a871b0"
  ],
  "author": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Tue Apr 12 08:45:01 2022 -0600"
  },
  "committer": {
    "name": "Nathan Hjelm",
    "email": "hjelmn@google.com",
    "time": "Thu Apr 14 10:31:39 2022 -0600"
  },
  "message": "darwin: add missing locking around cached device list cleanup\n\nThe cleanup function darwin_cleanup_devices was intented to be called only once\nat program exit. When the initialization/finalization code was changed to\ndestroy the cached device list on last exit this function should have been\nmodified to require a lock on darwin_cached_devices_lock. This commit updates\ncleanup to protect the cached device list with the cached devices mutex and\nupdates darwin_init to print out an error and return if a reference leak is\ndetected.\n\nAlso using this opportunity to correct the naming of the mutex. Changed\ndarwin_cached_devices_lock to darwin_cached_devices_mutex. Also cleaning the\ninitialization code up a bit. Removing the context pointer from the hotplug\nthread as it is not used for anything but logging.\n\nFixes #1124\n\nSigned-off-by: Nathan Hjelm \u003chjelmn@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "388dbca6077b9aed782e5f0d92e34d2a35596a50",
      "old_mode": 33188,
      "old_path": "libusb/os/darwin_usb.c",
      "new_id": "7730d71f635b95c46f3c4189165e05dab843045e",
      "new_mode": 33188,
      "new_path": "libusb/os/darwin_usb.c"
    },
    {
      "type": "modify",
      "old_id": "b7c17a149c73933dc8300512cfa137c6a5e11fee",
      "old_mode": 33188,
      "old_path": "libusb/version_nano.h",
      "new_id": "e1d64a3910d294c268cb99abddc8f9243872c4dc",
      "new_mode": 33188,
      "new_path": "libusb/version_nano.h"
    }
  ]
}
