)]}'
{
  "commit": "67f6162c51d8cd48d1e268a676b7a9ff36925b56",
  "tree": "45cf70a1a869b826a83a9a87907078333038a35f",
  "parents": [
    "2b76e8faa72c2ea6bea7fe0bedca73f608ded47f"
  ],
  "author": {
    "name": "Thomas Haller",
    "email": "thaller@redhat.com",
    "time": "Mon Jan 29 15:41:40 2024 +0100"
  },
  "committer": {
    "name": "Thomas Haller",
    "email": "thaller@redhat.com",
    "time": "Mon Jan 29 18:17:37 2024 +0100"
  },
  "message": "gobject: fix race and use datalist_id_update_atomic() for weak refs\n\nThe previous code is not thread safe. See how g_object_weak_ref() and\ng_object_weak_unref() take OPTIONAL_BIT_LOCK_WEAK_REFS locks. However,\nthere are various places that call\n\n  g_datalist_id_set_data (\u0026object-\u003eqdata, quark_weak_notifies, NULL);\n\nwithout OPTIONAL_BIT_LOCK_WEAK_REFS lock. That doesn\u0027t work.\n\nWe would have there also to take a OPTIONAL_BIT_LOCK_WEAK_REFS lock.\nInstead, use datalist_id_update_atomic() to perform all operations under\nthe GData lock.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a413d5331f8018e67bed6c750d3346f85df58d82",
      "old_mode": 33188,
      "old_path": "gobject/gobject.c",
      "new_id": "8081ed9a90f2b5b9e349a2f9a8a7d718baad7215",
      "new_mode": 33188,
      "new_path": "gobject/gobject.c"
    }
  ]
}
