)]}'
{
  "commit": "322c3c4f3abee616a18b3bfe563ec29dd67eae63",
  "tree": "39055859859a8c01e0f3ef4588e9347d9eef3cd8",
  "parents": [
    "2c147611cf568eb1cd7dc8bf4479b272bad3b9d6"
  ],
  "author": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Tue Sep 30 11:58:35 2025 +0100"
  },
  "committer": {
    "name": "Daniel P. Berrangé",
    "email": "berrange@redhat.com",
    "time": "Fri Oct 24 13:04:31 2025 +0100"
  },
  "message": "io: move websock resource release to close method\n\nThe QIOChannelWebsock object releases all its resources in the\nfinalize callback. This is later than desired, as callers expect\nto be able to call qio_channel_close() to fully close a channel\nand release resources related to I/O.\n\nThe logic in the finalize method is at most a failsafe to handle\ncases where a consumer forgets to call qio_channel_close.\n\nThis adds equivalent logic to the close method to release the\nresources, using g_clear_handle_id/g_clear_pointer to be robust\nagainst repeated invocations. The finalize method is tweaked\nso that the GSource is removed before releasing the underlying\nchannel.\n\nReviewed-by: Eric Blake \u003ceblake@redhat.com\u003e\nSigned-off-by: Daniel P. Berrangé \u003cberrange@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0a8c5c47123e6dfc6687b8c00ea787e8712f7810",
      "old_mode": 33188,
      "old_path": "io/channel-websock.c",
      "new_id": "a50a160e18c871d3863361529f67725073873fea",
      "new_mode": 33188,
      "new_path": "io/channel-websock.c"
    }
  ]
}
